在项目部署过程中,执行.sql文件时报错:[ERR] 2006 - MySQL server has gone away,
加上一串insert语句的错误信息。当时初步判断可能是由于某个数据库表的数据内容太大,导致执行语句出错。通过查阅资料发现,这里是由于MySQL的max_allowed_packet做了限制。
查看MySQL的max_allowed_packet配置,执行语句:show global variables like 'max_allowed_packet';
解决方法:
(1)修改mysql的配置文件(linux系统是在/etc/my.cnf文件中,windows系统是在my.ini文件中)。在在 [mysqld] 节点下添加如下语句:
max_allowed_packet=100M
(2)重启mysql服务,执行命令
systemctl stop mysqld
systemctl start mysqld
(3)再通过执行show global variables like 'max_allowed_packet';命令发现配置生效。重新执行.sql文件成功。