mysqldump:Error 2013 Lost connection to MySQL server during query ‘table’ at ... rows

本文介绍了解决Mysqldump备份过程中遇到的error:2013问题的方法,主要是通过调整net_write_timeout参数来缓解因NFS写入速度慢导致的连接超时错误。

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

最近在使用mysqldump备份,为了省事就直接向NFS备份服务器备份了,就遭遇了上面的错误。
在网上搜了一下,原来在在使用mysqldump的时候,尤其是向NFS上备份的时候,都可能会遇到这个错误。

原因如下:在向NFS上备份的时候,MySQL Server端首先从数据文件中检索出数据,然后分批将数据返回给mysqldump客户端,然后mysqldump客户端将数据写入到NFS上。一般地,向NFS上写入数据的速度较之Server端检索发送数据的速度要慢得多,就会导致mysqldump客户端无法及时接受Server端发送过来的数据并写入NFS,Server端的数据就会积压在内存中等待发送,而这个等待不是无限期的,当Server的等待时间超过net_write_timeout(默认是60秒)时,mysqldump的连接就会被断开,同时抛出错误error: 2013: Lost connection...。增加net_write_timeout可以解决上述的问题的。在实践中发现,在增大net_write_timeout后,Server端会消耗更多的内存,有时甚至会导致swap的使用(并不确定是不是修改net_write_timeout所至)。建议在mysqldump之前修改net_write_timeout为一个较大的值(如1800),在mysqldump结束后,在将这个值修改到默认的60。

其实解决这个问题的思路也不难,就是先把mysqldump的备份放到本地,压缩后在copy到NFS上就行了,虽然方法稍显笨拙和费时,但胜在简单吗!
参考:
http://hi.baidu.com/ldtrain/blog/item/1c7f87be76c9020119d81f18.html

其它可能遇到error: 2013的解决方法:
在mysql选项文件(如my.cnf)中加入
[mysqld]
skip-name-resolve
禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值