`
lihong11
  • 浏览: 456178 次
  • 性别: Icon_minigender_2
  • 来自: 湖南
社区版块
存档分类
最新评论

备份数据库时报Got error:2013: Lost connection to MySQL server during query...

阅读更多
备份数据库时,报2013错误:Lost connection to MySQL server”的处理方法

1.Lost connection to MySQL server during query 错误
造成这样的错误原因很多
先试一试在my.ini配置文件中的[client]下增加这两个参数:
bind-address = 127.0.0.1
#skip-name-resolve
这两个参数任意一个就行。
也就是说遇到2006,2013错误就重新连接一下MySQL。

2. MySQL层面,需要配置一些参数,修改所有my.*的配置文件下的[mysqldump]
wait_timeout = x 超时时间
max_allowed_packet = y 最大允许数据量
适当增加x,y的值。

分析:在使用mysqldump的时候(尤其是向NFS上备份的时候),很多人都被’mysqldump:Got error:2013: Lost connection to MySQL server during query when dumping table’的问题困扰,在Manual中对这个问题有一些简单的说明。

在向NFS上备份的时候,数据的流向是这样的:MySQL Server端从数据文件中检索出数据,然后分批将数据返回给mysqldump客户端,然后mysqldump将数据写入到NFS上。一般地,向NFS上写入数据的速度较之Server端检索发送数据的速度要慢得多,这就会导致mysqldump无法及时的接受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。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics