当前位置: 首页 / 网站建设 / 正文

Navicat for MySQL 连接远程数据库很慢解决方法(实测有效)

发布时间:2020-06-28 12:00:56 作者:小超越君

问题描述

服务器使用的是宝塔面板CentOS环境,本地用Navicat操作远程MySQL数据库时经常会出现“正在准备…”、“正在加载…”等待时间特别长的情况,有时要等待十几秒。

原因分析

MySQL服务器端会定时清理长时间不活跃空闲的数据库连接,以此优化数据库的性能。

Navicat客户端有一个设置:保持连接间隔,默认是240秒!意思是,客户端在用户无任何交互性操作时,会每隔240秒给MySQL服务端发送一次数据请求。以此来保持数据库连接活跃。

然而Navicat设置的心跳包间隔太长了,MySQL服务端直接将连接清理掉了。当我们打开一张表的时候,Navicat还是使用旧的连接去请求数据,发现旧的连接超时不能用了,最后又申请了一个新的连接,再去请求数据。

所以导致我们打开一张表时间需要挺久的!

解决方案一

Navicat – 编辑数据库连接 – 高级 – 勾选保持连接间隔 – 输入框设置为30 – 点击确定!

解决方案二

问题描述

开发某应用系统连接公司的测试服务器的mysql数据库连接打开的很慢,但是连接本地的mysql数据库很快,刚开始认为可能是网络连接问题导致的,在进行 ping和route后发现网络通信都是正常的,而且在mysql机器上进行本地连接发现是很快的,所以网络问题基本上被排除了,所以想看看是不是mysql的配置问题。在查询mysql相关文档和网络搜索后,发现了一个配置似乎可以解决这样的问题,就是在mysql的配置文件中增加如下配置参数:

[mysqld]
skip-name-resolve

在linux下配置文件是/etc/my.cnf,在windows下配置文件是mysql安装目录下的my.ini文件。注意该配置是加在 [mysqld]下面,在更改配置并保存后,然后重启mysql并远程连接测试,一切恢复如初。

文章允许转载,请保留本文链接:https://www.zhe94.com/748.html

小超越
热爱折腾,曾想着改变世界,如今只能向生活低头,寻找可口的牛奶和面包
添加站长微信作者头像
专注高品质湛江网站建设及湛江SEO优化服务 立即咨询