批量导入数据(Mysql)报MySQL server has gone away 问题的解决方法

原创 wintop  2019-02-14 00:30:28  阅读 2596 次 评论 0 条
摘要:

  问题场景:  使用*.sql 脚本,批量导入数据到mysql实例中,使用DOS 界面导入的,期间,到最后一步 source D:\aaa.sql  回车后,系统提示 MySQL server has gone away错误; 问题分析首先度娘:mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了。 &nbs

  问题场景:


  使用*.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 后失效!


本文地址:https://zuoweng.com/post/16.html
版权声明:本文为原创文章,版权归 wintop 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?