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

项目场景:

操作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数据库慢内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 安装mysql8.0.11及修改root密码、连接navicat for mysql的思路详解

    1.1. 下载: 官网下载zip包,我下载的是64位的: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压:(解压在哪个盘都可以的) 我放在了这里 E:\web\mysql-8.0.11-winx64 ,顺便缩短了文件名,所以为 E:\web\mysql-8.0.11. 1.3. 生成data文件: 以管理员身份运行cmd 程序--输入cmd 找到cmd.exe 右键以管理员身份运行 进入E:\web\mysql-8.0.11\

  • 解决mysql与navicat建立连接出现1251错误

    重装了电脑,安装了最新版的MySQL数据库,结果Navicat连接Mysql报1251错误,sqlyog报2058错误,但是window命令进入mysql,账号密码都是正确的. 在网上查的是,出现这个原因是mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password. 解决问题方法有两种,一种是升级navicat驱动:一种是把mysql用户登录密码加密规则还原成mysql_native_password.

  • 解决navicat连接不上linux服务器上的mysql问题

    一开始,心情是沉痛的,截图如下: 折腾一番后,解决方案如下: 首先确保 linux服务上mysql 的3306端口是对外开放的 切换到目录:/etc/sysconfig下,编辑iptables,把这个拷贝进去"-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT",效果如图: 然后重启防火墙 service iptables restart mysql开启root权限(mysql命令下执行) 赋予权限: grant all privileges o

  • 解决Navicat远程连接MySQL出现 10060 unknow error的方法

    前言:今天想远程连接一下自己服务器上的MySQL,用的用的软件是Navicat,服务器上的MySQL版本为5.7 第一次连接的时候就出意外了 大概意思是 无法连接MySQL服务,解决步骤如下 第一:首先检查你的阿里或腾讯的服务器控制台是否开启3306端口访问权限,关于在哪里看,请自行百度,我的如下,可以看到,并没有允许远程连接 如果和我一样没开启,那就开启吧 开启允许所有连接后,再试试 又出错了,这次的大概意思是 拒绝访问这个MySQL服务,解决如下 第一:进入MySQL,选择MySQL数据库,

  • navicat连接mysql时出现1045错误的解决方法

    navicat for MySQL 连接本地数据库出现1045错误 如下图: 查了很多资料,意思是说mysql没有授权远程连接,也就是权限不够: 解决方法: 1.首先打开命令行:开始->运行->cmd. 2.先进入电脑安装的mysql的bin目录下,因为我用的是phpstudy,mysql安装在D盘,如果你的是C盘 就不用执行第一个命令 D: cd D:\phpStudy\MySQL\bin mysql -u root mysql mysql> UPDATE user SET Passw

  • Navicat 远程连接 MySQL实现步骤解析

    前言 相信大家都有在远程服务器上进行开发吧,其中 MySQL 的使用率应该也会挺高,如果使用 Navicat 等可视化工具来操作远程数据库不失为一种很好的选择,避免了在命令行写 SQL 语句的操作.下面简单介绍一下 Navicat 连接远程数据库的操作. 1 首先我们需要更改 3306端口,查看3306 端口是否对外开放,MySQL 默认情况下是不开放对外访问功能的.语句如下: netstat -an | grep 3306 如果查询结果如下,需要我们更改 MySQL 配置文件. 可以看出,my

  • Navicat premium连接数据库出现:2003 Can't connect to MySQL server on'localhost'(10061)

    问题 Navicat premium连接数据库时,出现以下问题 2003 - Can't connect to MySQL server on 'localhost' (10061 "Unknown error") 解决方案 原因为Mysql未启动,开启本地的MySQL服务即可 步骤1. 打开此电脑的管理 步骤2. 开启Mysql服务 到此这篇关于Navicat premium连接数据库出现:2003 - Can't connect to MySQL server on 'localh

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

    项目场景: 操作MySql数据库 问题描述: 通过Navicat连接MySql数据库表,第一次打开表都还挺正常的,但是一段时间没操作Navicat之后再打开其他表的时候就会出现卡死,要等很久才会响应. 原因分析: 我的数据库是放在最近买的腾讯服务器上,我怀疑是不是刚安装的MySql数据库是不是什么配置没有配置好,所以上网搜索了这类的问题,说是MySql默认开启了Dns反向解析,我就以下配置方法进行尝试 在/etc/my.cnf的mysqlid下面添加这样的字段: skip-name-resolv

  • Navicat Premium远程连接MySQL数据库的方法

    新建连接的一方相当于是客户端,被连接的相当于是服务端,步骤如下: 1.创建子账户,在Navicat查询界面键入以下授权命令,依次执行 GRANT ALL PRIVILEGES ON test.* to 'root333'@"%" IDENTIFIED by 'abc111' WITH GRANT OPTION; FLUSH PRIVILEGES; all PRIVILEGES意思是所有权限: on后面接的是数据库名.表名 如:test.* 的意思是授予的权限是数据库test下的所有表,

  • java jdbc连接mysql数据库实现增删改查操作

    jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的时候才能更好的去理解这些成熟的框架是如何去实现增删改查

  • c++连接mysql数据库的两种方法(ADO连接和mysql api连接)

    第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时不说.第二种方法只能针对于mysql数据库的连接,不过用这种方法不用安装MyODBC服务器程序. 不管用哪种方法,首先需要安装Mysql数据库,安装方法请看"mysql安装及一些注意点".最好安装一个Navicat for mysql,方便操作mysql数

  • MyEclipse连接MySQL数据库图文教程

    自己在自学JavaEE课程时,在做一些小东西的时候,需要连接MySQL数据库,自己看了看书,然后自己摸索,一步步成功,学习也是一个分享的过程,图文结合,希望帮助到更多的人. 一.配置Database Explorer1. 打开MyEclipse Database. 方法:Window-->Openperspective-->MyEclipse Database Explorer 2.点击右上角的MyEclipse...在DB Browser空白处单击右键-->new 打开DataBase

  • 详解Python连接MySQL数据库的多种方式

    上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器的数据 ②连接测试服务器的数据库账号和密码,在测试服务器上操作,内部测试服务器的数据库账号和密码在分配时会给不同账号做权限限制,如不同账号允许登录的方式.开放的数据库范围.账号可读写操作的权限都会不一样,若出现一直使用代码登录不上远程数据库服务器,应检查下账号是否具有权限,可询问负责管理测试服务器数

  • navicat连接mysql出现2059错误的解决方法

    最近在学习django的时候需要用到数据库,于是便下载了navicat准备和mysql配套使用,但是在连接的时候确出现了如下问题: 网上查询过后,发现这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password. 解决此问题有两种方法,一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password.:根据网上大部分建议采

  • Navicat修改MySQL数据库密码的多种方法

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123'); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 12

  • Navicat连接MySQL时报10060及1045错误及my.ini位置问题

    Navicat连接数据库的10060及1045报错,MySQL8.0.18的my.ini文件在哪 出现这种现象的原因是3306端口被被防火墙禁掉,无法连接到该端口.首先呢,Win+R,运行services.msc,看MySQL服务是否打开 我这看到MySQL80网络服务不在运行.当我想开启时- 没法启动服务 解决方法(创建3306端口) 1.控制面板->Windows Defender防火墙->高级设置->入站规则 查看一下3306端口号是否启用 因为我的3306端口号被禁用了,所以我这

  • C++连接mysql数据库的两种方法小结

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接mysql的方法.可以通过2种方法实现. 第一种方法是利用ADO连接, 第二种方法是利用mysql自己的api函数进行连接. 第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的

随机推荐