MYSQL 导入53M数据报错

show VARIABLES like '%max_allowed_packet%';

-- set global max_allowed_packet = 1024*1024*70;

结果已经是:

max_allowed_packet    62914560
slave_max_allowed_packet    1073741824




发现还是不行,报错:

[Err] 2006 - MySQL server has gone away


原因:

可能是sql语句过长,超过mysql通信缓存区最大长度。

 


解决:
1. 编辑 MySQL 安装目录下的 my.ini,在最后添加以下内容:

max_allowed_packet=60M

2. 重启 MySQL 服务



另外参考

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参数的作用是,用来控制其通信缓冲区的最大长度。



猜你喜欢

转载自blog.csdn.net/xocom/article/details/79492348