mysql 批量导入数据的时候ERROR2006

今天要往数据库导入约28万条数据,只是一执行导入操作,立马就报错 ERROR 2006 (HY000): MySQL server has gone away

还说奇怪了,难道一导入就挂了?马上检查mysql进程,进程还在,也能连接上,没有问题。

查了一下,说ERROR 2006错误有一些原因,请参考 这里

1.服务器关闭连接后,试图向服务器发送查询,这表明必须修改应用逻辑错误;
2.向服务器发送不正确或者太大的查询也会导致这种错误。如果mysqld收到的包太大或者无序,
它就认为客户端发生错误而断开连接,如果需要大查询,可以修改max_allowed_packet变量,
该变量默认值是1M,在客户端也需要设置最大包的大小;
3.INSERT or REPLACE语句插入大量的行也会引起这种错误,这些语句不考虑插入的行数而发送单一的请求至服务器,因此减少插入的行数可以避免经常发生这种错误;

对照这个,我估计是第二种问题,于是修改了参数 max_allowed_packet=20M ,再次导入,就ok了。

另外,从今天的导入,刚开始是一条条sql语句批量执行,非常的慢

后来换成一个insert,多value方式,类似dump出来的数据,几秒钟就导入了,效率啊效率

转载于:https://www.cnblogs.com/skyaccross/archive/2013/01/14/mysqlerror2006.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值