解决使用Navicat 打开远程连接mysql很慢的方法

本文介绍通过修改MySQL配置文件中的skip-name-resolve参数来禁用DNS解析,从而解决因DNS解析慢导致的连接速度问题。同时,通过调整Navicat客户端的保持连接间隔设置,避免因心跳包间隔过长而导致的连接超时问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)在mysql的配置文件中增加如下配置参数:
[mysqld]
skip-name-resolve
在linux下配置文件是/etc/my.cnf,
在windows下配置文件是mysql安装目录下的my.ini文件。
注意该配置是加在 [mysqld]下面,在更改配置并保存后 然后就很快了
 

如果你的mysql主机查询DNS很慢或是有很多客户端主机时会导致连接很慢,由于我们的开发机器是不能够连接外网的,所以DNS解析是不可能完成的,从而也就明白了为什么连接那么慢了。同时,请注意在增加该配置参数后,mysql的授权表中的host字段就不能够使用域名而只能够使用 ip地址了,因为这是禁止了域名解析的结果。
 

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值