您好,登錄后才能下訂單哦!
小編給大家分享一下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備份報錯怎么辦”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。