热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

关于Navicat连接MySql数据库慢的问题-项目场景:操作MySql数据库问题描述:通过Navicat连接MySql数据库表,第一次打开表都还挺正常的,但是一段时间没操作Nav

项目场景:

操作MySql数据库

问题描述:

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

原因分析:

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

skip-name-resolve

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

解决方案:

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

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

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210225151649891.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p1bndlbjA4MTQ=,size_16,color_FFFFFF,t_70

知识点补充:

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

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

[mysqld]
skip-name-resolve

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


推荐阅读
author-avatar
naozhewaner_254
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有