随笔编号-09 批量导入数据(Mysql)报MySQL server has gone away 问题的解决方法

  问题场景:

  使用*.sql 脚本,批量导入数据到mysql实例中,使用DOS 界面导入的,期间,到最后一步 source D:\aaa.sql  回车后,系统提示 MySQL server has gone away错误;

 问题分析

首先度娘:mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了。 

  造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可   以在程序中将数据分批插入)。

解决办法:

(之一,还有其他方面原因,本人是因为如下原因导致,改之后正常):

1  查看文件大小是否超过 max_allowed_packet  

show global variables like 'max_allowed_packet'; 

修改参数:

set global max_allowed_packet=1024*1024*16;

在查询之:

 show global variables like 'max_allowed_packet';

在重新执行DOS 插入命令,正常。

注意: 以上通过set 方式更改缓存空间。在重启SQLServer 后失效!

posted @ 2017-03-02 17:50  塞壬的港湾  阅读(1318)  评论(0编辑  收藏  举报