MySQL导入sql文件,过大导致错误

--导入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;

接下来重新导入,导入成功!

扫描二维码关注公众号,回复: 7138923 查看本文章

注:修改只对当前有效, 重启了MySQL他就还是会恢复原来的大小。如果是想永久生效,可以修改配置文件,在my.ini(windows下)或者my.cnf(linux下)加入或修改配置:

max_allowed_packet = 16M
重启MySQL服务...

猜你喜欢

转载自www.cnblogs.com/sung1024/p/11437303.html