Navicat中导入sql文件提示 {MySQL server...} 错误?极速解决

断了今生、忘了曾经 提交于 2020-07-27 22:05:42

首先分析问题:

navicat中导入sql文件时出现MySQL server has gone away错误一般是sql语句太大导致的。

blob.png

解决办法如下:

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

blob.png

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

如果还是无法解决,可以修改mysql的配置文件,找到mysql目录下的my.ini配置文件,加入以下代码:

max_allowed_packet=500M

wait_timeout=288000

interactive_timeout = 288000

根据需要更改数值,最后记得重启mysql服务。

说明:max_allowed_packetmysql允许最大的数据包,也就是你发送的请求; 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来验证参数设置适合符合预期。



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!