一、具体报错信息:
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
后改回去默认值。