项目场景:
操作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很慢的方法
开发某应用系统连接公司的测试服务器的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数据库慢内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:- 解决Navicat无法连接 VMware中Centos系统中的 MySQL服务器的问题
- 完美解决docker安装mysql后Navicat连接不上的问题
- Navicat for MySQL 15注册激活详细教程
- Navicat Premium远程连接MySQL数据库的方法
- 解决navicat远程连接mysql报错10038的问题
- Navicat for MySQL 11注册码\激活码汇总
- 详解Navicat远程连接mysql很慢
- Navicat Premium操作MySQL数据库(执行sql语句)
- Navicat连接虚拟机mysql常见错误问题及解决方法
- Navicat premium连接数据库出现:2003 Can''t connect to MySQL server on''localhost''(10061)
- navicat创建MySql定时任务的方法详解
- Navicat出现无法远程连接MySql服务器问题的解决办法
- 如何用Navicat操作MySQL