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

Posted sung1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

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

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

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

 

以上是关于MySQL导入sql文件,过大导致错误的主要内容,如果未能解决你的问题,请参考以下文章

Mysql导入Sql文件时报Error Code: 2013 - Lost connection to MySQL server during query

MySQL server has gone away错误的解决办法

MySQL server has gone away错误的解决办法

mysql导入大量数据时报MySQL server has gone away错误的解决办法

MySQL导入导致“服务器已消失”错误[重复]

将较大的 SQL 文件导入 MySQL