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,在最后添加以下内容:
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参数的作用是,用来控制其通信缓冲区的最大长度。