mysql批量导入数据时出现MySQL server has gone away错误的解决办法

本文介绍了当遇到MySQL在导入大量数据时出现“MySQL server has gone away”错误的原因及解决方法。通过对max_allowed_packet等参数进行调整,可以有效解决因数据过大而导致的连接断开问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本地导入数据出现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;

这里如果还出现错误,就将大小再往上加,我是一直加到1024*1024*256

在查询之:

 show global variables like 'max_allowed_packet';

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

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

以上转自:https://www.cnblogs.com/yazoon/p/6491814.html

如果是linux服务器中出现MYSQL server has gone away错误:

去mysql下面的my.cnf文件中将下面的参数修改:

max_allowed_packet=200M

wait_timeout=2880000

interactive_timeout = 2880000 

可能还需要重启下mysql,可以尝试试一下。

以上转自:https://blog.youkuaiyun.com/boshuzhang/article/details/73603772


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值