我在使用datagrip查询mysql数据库中的数据时,隔一段时间就会出现这个报错

        调查研究,发现这个问题出现的问题应该在于使用datagrip时,该软件并不会自动启动电脑中的mysql服务,常常需要我们自动启动。虽然datagrip会在我们new了一个project的时候让我们输入我们电脑中安装的mysql服务的url,端口,以及用户名和密码,并且在我们测试链接时也仅仅只是和mysql服务进行了简单的通信,而不会开启mysql服务。

        所以回归我们问题的本质,在长时间没有使用 DataGrip 查询数据库时,可能会因为连接空闲超时(Idle Connection Timeout)而导致失去与 MySQL 数据库的连接。所以这就是为什么会出现隔一段时间之后,我们会在datagrip中链接不到mysql服务。

        MySQL 默认情况下会关闭空闲连接,以避免服务器资源浪费和安全问题。默认的空闲连接超时时间是 8 小时,超过这个时间没有使用的连接将被关闭。如果您长时间没有使用 DataGrip 查询数据库,就可能会遇到这个问题。

        1.由此,为了保证mysql参数稳定,不改变mysql默认参数的基础上(其他的问题教程有修改参数的步骤),我们需要在cmd中查自己电脑是否启动mysql服务。 

sc query mysql_sever_name

其中mysql_sever_name是指mysql服务在我们电脑上面的服务名,大多数为mysql,但是如果你的电脑下载的是MySQL8.0及8.0以上的版本,此时你应该是mysql服务名应该是mysql80。所以你如果安装的是高版本的MySQL,还是在cmd中用mysql的话,你肯你会看到终端显示服务未安装而慌的一批的。(我就是这样)

        在正确查询之后,终端会输出一个状态表:

其中的STATE就代表了此时你的mysql服务的运行状态:RUNNING 表示正在运行中,STOPPED 表示停止了。

如果停止了,我们就需要重启mysql服务:

net start mysql_sever_name

 运行成功:

此时再进入datagrip中右键你需要查询的数据库的配置库:

 

点击properties:

再测试链接,就可以看到链接成功了,这样就让datagrip和mysql数据库成功建立链接啦!完结撒花!!!

ps:1.在这里也可以看见我的mysqlversion是8.0.30,所以我的默认mysql服务器的名称是MySQL80。但是如果你修改过你的mysql服务器名称,或者你想查看你的mysql服务器名称是什么,可以在菜单中搜索服务,回车打开你就可以在里面看到你的mysql服务器名称是什么:

        2.有任何问题可以在评论区留言噢,我们可以一起探讨和解决!!

希望能帮助到你们!!!

 

 

 

 

更多推荐