1、问题描叙:每次用 navicat 连接成功数据库后,如果出现一段时间没有任何操作,再次刷新数据库、打开某一个表、执行 Sql 语句时,界面会出现加载中……,要么就是卡顿现象。一开始我个人以为是我的电脑卡顿,结果其他同事也出现了同样的问题。
2、原因分析
2.1、MySQL 服务器端会定时清理长时间不活跃空闲的数据库连接,以此优化数据库的性能。
2.2、navicat设置的心跳包间隔太长了,MySQL 服务端直接将连接清理掉了。当我们打开一张表的时候,navicat还是使用旧的连接去请求数据,发现旧的连接超时不能用了,最后又申请了一个新的连接,再去请求数据。
3、打开navicat界面,右键》连接属性》高级
4、这样就可以持续保持对数据库的连接了。
结语:我这个是自己搭建的Mysql-8.0.27数据库,才出现的这个问题,在此之前,我连接阿里云的Mysql数据库时,并没有出现这种问题。我一直感觉是数据库有一些配置项没有设置好,导致出现的问题,如果你们有别的解决方案也可以评论区留言,咱们相互交流一下。