--导入sql脚本文件,报错:
Navicat 导入数据报错 --- 1153 - Got a packet bigger than 'max_allowed_packet' bytes
2006 - MySQL server has gone away
--原因
查了一下,原来是MySQL默认读取执行的SQL文件最大为16M
--解决办法
今天从MySQL导入sql文件的时候发现出现错误,查看日志发现报2006 - MySQL server has gone away 错误,出现这个的原因一般是传送的数据过大,解决的办法是:
查看通信缓冲区的最大长度:
show global variables like 'max_allowed_packet';
默认最大是1M,可以修改通信缓冲区的最大长度,修改为16M:
set global max_allowed_packet=1024*1024*400;
接下来重新导入,导入成功!
注:修改只对当前有效, 重启了MySQL他就还是会恢复原来的大小。如果是想永久生效,可以修改配置文件,在my.ini(windows下)或者my.cnf(linux下)加入或修改配置:
max_allowed_packet = 16M
重启MySQL服务...