教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 Navicat中MySQL server has gone away错误怎么办

Navicat中MySQL server has gone away错误怎么办

发布时间:2023-04-30   编辑:jiaochengji.com
教程集为您提供Navicat中MySQL server has gone away错误怎么办等资源,欢迎您收藏本站,我们将为您提供最新的Navicat中MySQL server has gone away错误怎么办资源
mysql数据库出现MySQL server has gone away错误一般是sql语句太大导致了,下面们在使用Navicat中操作数据库时提示MySQL server has gone away问题解决办法。

今天备份了一下本站的数据,生成的sql文件比较大,当然,这个sql是包含了比较多的冗余数据。用Navicat直接导入的话,报错MySQL server has gone away。如下图所示:

mysql-server-has-gone-away-on-navicat

解决办法

打开navicat的菜单中的tools,选择server monitor,然后在左列选择数据库,右列则点选variable表单项,寻找max_allowed_packet,将其值改大。

mysql-server-has-gone-away-on-navicat

改好之后,再次导入备份的sql文件,一切正常。

如果还是无法解决,下面我整理了一些mysql查询中碰到MySQL server has gone away问题

找到你的mysql目录下的my.ini配置文件,加入以下代码:

max_allowed_packet=500M

wait_timeout=288000

interactive_timeout = 288000

自己看情况更改数值,我直接改很大,最后记得重启你的mysql服务

这样的话就能很好的解决MySQL server has gone away问题了。max_allowed_packet是mysql允许最大的数据包,也就是你发送的请求; wait_timeout是等待的最长时间,这个值大家可以自定义,但如果时间太短的话,超时后就会现了MySQL server has gone away #2006错误。max_allowed_packet参数的作用是,用来控制其通信缓冲区的最大长度

如果没有修改myql权限我们可以在PHP程序里面,如果php.ini修改起来不方便,可以以下代码来尝试解决。

ini_set('mysql.connect_timeout', 300);
 
ini_set('default_socket_timeout', 300);
 
在ini_set后,可以用ini_get来验证参数设置适合符合预期。

您可能感兴趣的文章:
mysql提示MySQL server has gone away导入时报错2006错误
mysql 导入数据报2006错误的解决方法
有关mysql server has gone away报错的原因分析
MySQL server has gone away问题的解决办法
mysql server has gone away报错原因的分析
mysql报General error 2006 MySQL server has gone away...错误解决方法
MySQL导入数据库时报错,MySQL server has go away
解决ERROR 2006 (HY000) at line XX: MySQL server has gone away问题
mysql server has gone away的解决方法
Navicat for MySQL管理Linux VPS数据库两处连接报错问题

[关闭]
~ ~