赶知识网

MySQL导入大批量数据时报错:MySQL server has gone away

2018-04-17 / 2512次点击 php/mysql/apache MySql 数据导入
很久之前碰到的一个问题了,在此记录一下。
导入mysql的一个备份文件时,控制台报出了一个非常奇怪的错误信息,如下:
Error Code: 2006 - MySQL server has gone away
从表面上看是MySql服务器已经关闭,其实不然,这是因为mysql在执行大批量sql语句时,其数据缓冲区设置的过小,从而会导致mysql自动停止对sql语句的批量执行,由此造成的一个结果就是,对于前面已经导入进来的数据,mysql并不会将它们删除,只是剩下的数据也不会再导入了。
解决的办法其实很简单,就是增加数据缓冲区的大小,具体如下:
打开mysql的配置文件my.ini,在[mysqld]标签下新增一行,然后新增一个配置参数,如图:
 
 
max_allowed_packet=20M
参数值的大小根据我们的实际需要来指定。
保存后,重启mysql即可。 
有用 0 没用 0

Top10

沪ICP备09053415号 © 赶知识网