mysqldump报错 – Error 2013 Lost connection to MySQL server

Posted simonbaker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysqldump报错 – Error 2013 Lost connection to MySQL server相关的知识,希望对你有一定的参考价值。

一、具体报错信息:

mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table xxx at row: 258609

二、原因:

网上看了下,大概说在mysqldump的时候,因为数据量太大,一次性接收不了那么多数据,所以server端发送过来的数据会积压在内存等待发送,这个等待时间就是net_write_timeout的时间。当超过了该时间,则会断开mysqldump的连接,同时抛出错误:error 2013: Lost connection。

三、解决方式:

网上大部分说修改net_write_timeout时间即可。比如改为1200。
操作过程:
1 先登录mysql:mysql -u root -p
2 先查看默认时间:show global variables like \'%timeout%\'
3 修改时间:set global net_write_timeout = 1200
4 可以再次查看下是否已改变:show global variables like \'%timeout%\'
5 退出mysql,再次执行mysqldump:mysqldump -uroot -p -B monitor> /var/www/mysqlbackup/db.xxx.sql

上面操作过程,不用重启mysql。可能是退出mysql后一定时间内,这个值不会被重置回默认值。实在不行,可重启试试:service mysqld restart

另外,这个net_write_timeout时间,最好在操作完mysqldump后改回去默认值。

以上是关于mysqldump报错 – Error 2013 Lost connection to MySQL server的主要内容,如果未能解决你的问题,请参考以下文章

使用mysqldump 备份 恢复从库报错解决方案(ERROR 1872)

解决mysqldump备份报错: Couldn't execute 'SHOW FIELDS FROM Unknown error 1356

mysqldump: Error 2020: Got packet bigger than ‘max

mysqldump: Got error: 1102: Incorrect database nam

Mysql导入报错 ERROR 1231(42000)

mysqldump: Got error: 1449: The user specified as a definer ('user'@'%') does not ex