原创 导入数据量过大出现 MySQL server has gone away

最近遇到过这么一个问题:
需要导入一个200M左右的sql到库中,
导入的过程中出现MySQL server has gone away 的错误,导致数据导入SQL执行失败。

错误信息如下:

ERROR2006 (HY000): MySQL server has gone awayNo connection. Trying to reconnect…


原因:

MYSQL 默认分配的扩展内存过小。

执行:


show global variables like 'max_allowed_packet';

查看 max_allowed_packet的值


解决办法:

执行:


set global max_allowed_packet=268435456;

max_allowed_packet调大为256M(1024 1024 256)

然后再执行你自己的SQL就OK了

注意:
使用set global命令修改 max_allowed_packet 的值,重启mysql后会失效,还原为默认值。

如果想重启后不还原,可以打开 my.cnf 文件,添加 max_allowed_packet = 256M 即可。

本文为 Laysonx 原创 文章,转载无需和我联系,但请注明来自 李鑫的杂货铺 或 李鑫博客