如何解决MySQL server has gone away问题

在为数据库使用命令导入大量数据的时候,出现了如下问题:
MySQL has gone away

解决方法:

1、在MySQL配置文件my.cnf文件中添加或者修改以下两个变量:

wait_timeout = 2880000 
interactive_timeout = 2880000 

如果不能修改my.cnf,则可以在连接数据库的时候设置CLIENT_INTERACTIVE,比如:
sql = “set interactive_timeout=24*3600”;
mysql_real_query(…)

2、执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理
在my.cnf文件中添加或者修改以下变量:

max_allowed_packet = 10M

max_allowed_packet 参数的作用是,用来控制其通信缓冲区的最大长度,也可以设置自己需要的大小

3、重启MySQL服务器
使用 service 启动:service mysqld restart
或者
使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论