站长网 MySql教程 MySQL5.7中mysqldump 查询Error 2013备份报错咋办

MySQL5.7中mysqldump 查询Error 2013备份报错咋办

小编给大家分享一下MySQL5.7中mysqldump:查询Error 2013备份报错怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 描述 生产环境使用MySQL5.7.19之前每天正常的备份突然报错,后台日志报错信息如下: 2018-11-01T20:33:05.754602Z

小编给大家分享一下MySQL5.7中mysqldump:查询Error 2013备份报错怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
 
描述
生产环境使用MySQL5.7.19之前每天正常的备份突然报错,后台日志报错信息如下:
 
2018-11-01T20:33:05.754602Z 57223 [Note] Aborted connection 57223 to db: '***' user: 'root' host: 'localhost' (Got timeout writing communication packets)
 
2018-11-02T20:32:02.062349Z 57512 [Note] Aborted connection 57512 to db: '***' user: 'root' host: 'localhost' (Got timeout writing communication packets)
 
2018-11-03T17:02:17.276883Z 57759 [Note] Aborted connection 57759 to db: '***' user: 'root' host: 'localhost' (Got timeout writing communication packets)
 
2018-11-03T20:33:42.574751Z 57802 [Note] Aborted connection 57802 to db: '***' user: 'root' host: 'localhost' (Got timeout writing communication packets)
 
2018-11-04T08:57:33.911527Z 57952 [Warning] IP address '***.****.***.***' could not be resolved: Name or service not known
 
2018-11-04T20:32:41.571757Z 58092 [Note] Aborted connection 58092 to db: '***' user: 'root' host: 'localhost' (Got timeout writing communication packets)
 
2018-11-05T00:52:24.345151Z 58144 [Note] Aborted connection 58144 to db: '***' user: 'root' host: 'localhost' (Got timeout writing communication packets)
 
解决思路
    一开始认为是包最大值太小,即调大max_allowed_packet参数,将参数调大到200M之后再进行备份发现备份依然报错查看报错信息:
 
mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `***` at row: 325118与后台日志信息:
 
2018-11-05T01:12:30.211358Z 58154 [Note] Aborted connection 58154 to db: '***' user: 'root' host: 'localhost' (Got timeout writing communication packets)
 
查看'timeout'参数信息:
 
mysql> show global variables like '%timeout%';
+——————————-+———-+
| Variable_name         | Value     
+——————————-+———-+
| connect_timeout       | 10   |
| delayed_insert_timeout    | 300   |
| have_statement_timeout    | YES   |
| innodb_flush_log_at_timeout | 1    |
| innodb_lock_wait_timeout   | 50   |
| innodb_rollback_on_timeout  | OFF   |
| interactive_timeout     | 28800  |
| lock_wait_timeout      | 31536000|
| net_read_timeout       | 30   |
| net_write_timeout      | 60   |
| rpl_stop_slave_timeout    | 31536000|
| slave_net_timeout      | 60   |
| wait_timeout         | 28800  |
+——————————-+———-+
13 rows in set (0.00 sec)
查阅官方文档发现这两个参数值太小导致mysqldump报错
| net_read_timeout       | 30   |
| net_write_timeout      | 60   |
调大这两个参数:
 
mysql> set global net_read_timeout = 120;
Query OK, 0 rows affected (0.00 sec)
mysql>  set global net_write_timeout = 900;
Query OK, 0 rows affected (0.00 sec)
再执行备份脚本,报错信息消失,备份正常!

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/mysql/2021/1223/42590.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部