如果你的SQL语句出现了“MySQL server has gone away”错误,那么很有可能是max_allowed_packet这一项设置的问题。
原因解析
MySQL通过max_allowed_packet配置项来限制接收的数据包大小,默认一般是1M,也就是说如果你插入的数据超过1M就会出错。
我们可以通过下面的语句查看
show VARIABLES like 'max_allowed_packet';
解决方法
方法一:治标不治本,使用sql语句动态修改max_allowed_packet的值,改多大你自己看着办,如果mysql服务重启则会恢复到1M。
set global max_allowed_packet = 字节数
方法二:修改配置文件。在my.ini(Windows)/my.cnf(Linux)中的[mysqld]节下添加下面的配置,同样的改多大你看着办。
max_allowed_packet = 多少M