admin管理员组文章数量:1130349
文章目录
- 项目场景:
- 问题描述
- 原因分析:
- 解决方案:
项目场景:
后端开发,肯定离不开和数据库打交道,现在Java项目绝大多数都是使用MySQL数据库,所以Navicat for MySQL这个数据库可视化工具,大家就不会陌生了。
问题描述
使用 Navicat 连接服务器上的数据库时,如果隔一段时间没有使用,再次点击就会出现卡顿的问题。
例如:有时候查询完一次数据之后,就去编写代码,等下次回来的打开表的时候就会出现:
2013 - Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0
这时候去操作数据表可能会消耗几十秒以上的时间,这是不能容忍的。
原因分析:
- Mysql 服务端会定时清理长时间不活跃空闲的数据库连接,以此优化数据库的性能。
- Navicat 客户端有一个设置:保持连接间隔,默认是 240 秒,意思是,客户端在用户无任何交互性操作时,会每隔 240 秒给 Mysql 服务端发送一次数据请求,以此来保持数据库连接活跃。
然而 Navicat 设置的心跳包间隔太长了,Mysql 服务端直接将连接清理掉了。所以,当我们打开一张表的时候,Navicat 还是使用旧的连接去请求数据,发现旧的连接超时不能用了,最后又申请了一个新的连接,再去请求数据,才导致我们过一会再次使用时 Navicat 会卡顿一会儿。
解决方案:
Navicat – 找到对应的数据库 – 右键 – 连接属性 – 高级 – 勾选保持连接间隔(秒) – 输入框设置为30 (建议30-240之间,不要超过240)– 点击确定!
大功告成!!!赶紧去试试吧!
文章目录
- 项目场景:
- 问题描述
- 原因分析:
- 解决方案:
项目场景:
后端开发,肯定离不开和数据库打交道,现在Java项目绝大多数都是使用MySQL数据库,所以Navicat for MySQL这个数据库可视化工具,大家就不会陌生了。
问题描述
使用 Navicat 连接服务器上的数据库时,如果隔一段时间没有使用,再次点击就会出现卡顿的问题。
例如:有时候查询完一次数据之后,就去编写代码,等下次回来的打开表的时候就会出现:
2013 - Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0
这时候去操作数据表可能会消耗几十秒以上的时间,这是不能容忍的。
原因分析:
- Mysql 服务端会定时清理长时间不活跃空闲的数据库连接,以此优化数据库的性能。
- Navicat 客户端有一个设置:保持连接间隔,默认是 240 秒,意思是,客户端在用户无任何交互性操作时,会每隔 240 秒给 Mysql 服务端发送一次数据请求,以此来保持数据库连接活跃。
然而 Navicat 设置的心跳包间隔太长了,Mysql 服务端直接将连接清理掉了。所以,当我们打开一张表的时候,Navicat 还是使用旧的连接去请求数据,发现旧的连接超时不能用了,最后又申请了一个新的连接,再去请求数据,才导致我们过一会再次使用时 Navicat 会卡顿一会儿。
解决方案:
Navicat – 找到对应的数据库 – 右键 – 连接属性 – 高级 – 勾选保持连接间隔(秒) – 输入框设置为30 (建议30-240之间,不要超过240)– 点击确定!
大功告成!!!赶紧去试试吧!
版权声明:本文标题:一招解决Navicat连接线上数据库时,隔一段时间不操作出现的卡顿问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1754941779a2744411.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论