欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于Navicat连接MySql数据库慢的问题

程序员文章站 2022-03-02 11:36:48
项目场景:操作mysql数据库问题描述:通过navicat连接mysql数据库表,第一次打开表都还挺正常的,但是一段时间没操作navicat之后再打开其他表的时候就会出现卡死,要等很久才会响应。原因分...

项目场景:

操作mysql数据库

问题描述:

通过navicat连接mysql数据库表,第一次打开表都还挺正常的,但是一段时间没操作navicat之后再打开其他表的时候就会出现卡死,要等很久才会响应。

原因分析:

我的数据库是放在最近买的腾讯服务器上,我怀疑是不是刚安装的mysql数据库是不是什么配置没有配置好,所以上网搜索了这类的问题,说是mysql默认开启了dns反向解析,我就以下配置方法进行尝试
在/etc/my.cnf的mysqlid下面添加这样的字段:

skip-name-resolve

配置后发现问题依旧存在,之后再通过查询发现有一个文章说是navicat客户端有保持连接间隔的机制,默认是240秒,意思就是客户端在用户无任何操作时,每隔240秒会给mysql服务器发送一次请求,用于保持数据库的活跃。
但是因为navicat设置的间隔时间过长,导致之前的数据库连接已经断开了,当我们打开新的表的时候,navicat会拿着旧的连接去请求,发现旧的不可用后才申请一个新的连接去请求,所以才会导致我们打开一个表的时间会那么长

解决方案:

修改navicat的保持连接间隔时间

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

关于Navicat连接MySql数据库慢的问题

知识点补充:

解决navicat远程连接mysql很慢的方法

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

[mysqld]
skip-name-resolve

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

到此这篇关于关于navicat连接mysql数据库慢的问题的文章就介绍到这了,更多相关navicat连接mysql数据库慢内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!