MySQL5.7中mysqldump:查询Error 2013备份报错怎么办

73次阅读
没有评论

共计 2298 个字符,预计需要花费 6 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 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)

再执行备份脚本,报错信息消失,备份正常!

看完了这篇文章,相信你对“MySQL5.7 中 mysqldump: 查询 Error 2013 备份报错怎么办”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-26发表,共计2298字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)