当前位置: 主页 > 运维经验 > 运维故障 >

mysqldump遇到mysqldump: Error 2013错误

时间:2013-06-09 10:09来源:www.linuxyw.com 作者:admin 点击:
mysqldump -uroot -ppasswd --opt --default-character-set=utf8 --triggers -R --hex-blob --single-transaction --no-autocommit --master-data=2 test_game mail mail.sql 出现类似如下报错: mysqldump: Error 2013: Lost connection to MySQL s
欢迎大家分享自己的文档,请点击查阅:分享方法,Linux系统运维
如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……


本文由罗小波提供,转载请注明出处

在mysqldump备份导出的时候类似用如下语句导出数据
mysqldump -uroot -p'passwd'  --opt --default-character-set=utf8 --triggers -R --hex-blob --single-transaction --no-autocommit --master-data=2 test_game mail >mail.sql
出现类似如下报错:
mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `mail` at row: 1754283
 
查询资料
大概说是因为mysqldump来不及接受mysql server端发送过来的数据,Server端的数据就会积压在内存中等待发送,这个等待不是无限期的,当Server的等待时间超过net_write_timeout(默认是60秒)时它就失去了耐心,mysqldump的连接会被断开,同时抛出错误Got error: 2013: Lost connection。
 
增加net_write_timeout可以解决上述的问题的。在实践中发现,在增大 net_write_timeout后,Server端会消耗更多的内存,有时甚至会导致swap的使用(并不确定是不是修改 net_write_timeout所至)。建议在mysqldump之前修改net_write_timeout为一个较大的值(如1800),在 mysqldump结束后,在将这个值修改到默认的60。
 
在sql命令行里面设置临时全局生效用类似如下命令:
SET GLOBAL net_write_timeout=1800;
 
修改了这个参数后再备份,不再报错
注意,这个参数不是mysqldump选项,而是mysql的一个配置参数。


 

转载请注明linux系统运维
http://www.linuxyw.com/linux/yunweiguzhang/20130609/566.html

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
栏目列表
推荐内容