解决navicat隔一段时间连接(操作,查询)就卡顿问题Navicat老是卡死,必须强制退出

245 阅读1分钟

解决方法:

打开编辑--->高级--->设置心跳时间=30s( 输入框设置为30 (建议30-240之间,不要超过240)– 点击确定!

​编辑

问题:

  使用 Navicat 连接服务器上的数据库时,如果隔一段时间没有使用,再次点击就会出现卡顿的问题。

2013 - Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0

原因分析:

  1. Mysql 服务端会定时清理长时间不活跃空闲的数据库连接,以此优化数据库的性能。
  2. Navicat 客户端有一个设置:保持连接间隔,默认是 240 秒,意思是,客户端在用户无任何交互性操作时,会每隔 240 秒给 Mysql 服务端发送一次数据请求,以此来保持数据库连接活跃。
  3. 然而 Navicat 设置的心跳包间隔太长了,Mysql 服务端直接将连接清理掉了。所以,当我们打开一张表的时候,Navicat 还是使用旧的连接去请求数据,发现旧的连接超时不能用了,最后又申请了一个新的连接,再去请求数据,才导致我们过一会再次使用时 Navicat 会卡顿一会儿。