亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 磁盤寫滿導致MySQL復制失敗的解決方案

磁盤寫滿導致MySQL復制失敗的解決方案

熱門標簽:呂梁外呼系統 南太平洋地圖標注 html地圖標注并導航 大豐地圖標注app 400電話變更申請 北京金倫外呼系統 催天下外呼系統 400電話辦理服務價格最實惠 武漢電銷機器人電話

案例場景

      今天在線上發現一個問題,由于監控沒有覆蓋到,某臺機器的磁盤被寫滿了,導致線上MySQL主從復制出現問題。問題如下:

localhost.(none)>show slave status\G
*************************** 1. row ***************************
               Slave_IO_State:
                  Master_Host: 10.xx.xx.xx
                  Master_User: replica
                  Master_Port: 5511
                Connect_Retry: 60
              Master_Log_File:
          Read_Master_Log_Pos: 4
               Relay_Log_File: relay-bin.001605
                Relay_Log_Pos: 9489761
        Relay_Master_Log_File:
             Slave_IO_Running: No
            Slave_SQL_Running: No
                   Last_Errno: 13121
                   Last_Error: Relay log read failure: Could not parse relay log event entry. 
The possible reasons are: the master's binary log is corrupted (you can check this by running 
'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by 
running 'mysqlbinlog' on the relay log), a network problem, the server was unable to fetch a
 keyring key required to open an encrypted relay log file, or a bug in the master's or 
slave's MySQL code. If you want to check the master's binary log or slave's relay log, 
you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.

于是查看error log,發現error log中的內容如下:

2021-03-31T11:34:39.367173+08:00 11 [Warning] [MY-010897] [Repl] Storing MySQL user name or 
password information in the master info repository is not secure and is therefore not 
recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; 
see the 'START SLAVE Syntax' in the MySQL Manual for more information.

2021-03-31T11:34:39.368161+08:00 12 [ERROR] [MY-010596] [Repl] Error reading relay log 
event for channel '': binlog truncated in the middle of event; consider out of disk space

2021-03-31T11:34:39.368191+08:00 12 [ERROR] [MY-013121] [Repl] Slave SQL for channel '': Relay 
log read failure: Could not parse relay log event entry. The possible reasons are: the master's 
binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the 
slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log),
 a network problem, the server was unable to fetch a keyring key required to open an encrypted
 relay log file, or a bug in the master's or slave's MySQL code. If you want to check the 
master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW
 SLAVE STATUS' on this slave. Error_code: MY-013121

2021-03-31T11:34:39.368205+08:00 12 [ERROR] [MY-010586] [Repl] Error running query, slave SQL
 thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We 
stopped at log 'mysql-bin.000446' position 9489626

從描述中可以看到,error log是比較智能的,發現了磁盤問題,并提示我們需要"consider out of disk space"

解決問題

      登錄服務器,很快就發現是MySQL所在的服務器磁盤使用率達到100%了,問題原因跟error log中的內容一致。

      現在就解決這個問題。基本的思路就是清理磁盤文件,然后重新搭建復制關系,這個過程似乎比較簡單,但是實際操作中,在搭建復制關系的時候出現了下面的報錯:

### 基于gtid的復制,想重新搭建復制關系
localhost.(none)>reset slave;
ERROR 1371 (HY000): Failed purging old relay logs: Failed during log reset

localhost.(none)>reset slave all;
ERROR 1371 (HY000): Failed purging old relay logs: Failed during log reset

第一步:因為復制是基于gtid進行的,所以直接記錄show slave status的狀態后,就可以重新reset slave,并利用change master語句來重建復制關系了。

但是卻出現上面的報錯,從報錯信息看是mysql無法完成purge relay log的操作,這看起來不科學。好吧,既然你自己不能完成purge relay logs的操作,那就讓我來幫你吧。

第二步:手工rm -f 刪除所有的relay log,發現報錯變成了:

localhost.(none)>reset slave all;
ERROR 1374 (HY000): I/O error reading log index file

嗯,好吧,問題沒有得到解決。

然后思考了下,既然不能通過手工reset slave 來清理relay log,直接stop

slave 然后change master行不行呢?

第三步:直接stop slave,然后change master,不執行reset slave all的語句,結果如下:

localhost.(none)>change master to master_host='10.13.224.31',
    -> master_user='replica',
    -> master_password='eHnNCaQE3ND',
    -> master_port=5510,
    -> master_auto_position=1;
ERROR 1371 (HY000): Failed purging old relay logs: Failed during log reset

得,問題依舊。

第四步:反正復制已經報錯斷開了,執行個start slave看看,結果戲劇性的一幕出現了:

localhost.(none)>start slave;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    262
Current database: *** NONE ***


Query OK, 0 rows affected (0.01 sec)


localhost.(none)>
[root@ ~]#

執行start slave之后,實例直接掛了。

到這里,復制徹底斷開了,從庫實例已經掛了。

第五步:看看實例還能不能重啟,嘗試重啟實例,發現實例還能起來。實例重新起來后,查看復制關系,結果如下:

localhost.(none)>show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Queueing master event to the relay log
                  Master_Host: 10.xx.xx.xx
                  Master_User: replica
                  Master_Port: 5511
                Connect_Retry: 60
              Master_Log_File: 
          Read_Master_Log_Pos: 4
               Relay_Log_File: relay-bin.001605
                Relay_Log_Pos: 9489761
        Relay_Master_Log_File:
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
                   Last_Errno: 13121
                   Last_Error: Relay log read failure: Could not parse relay log event entry.
 The possible reasons are: the master's binary log is corrupted (you can check this by running 
'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by 
running 'mysqlbinlog' on the relay log), a network problem, the server was unable to fetch a 
keyring key required to open an encrypted relay log file, or a bug in the master's or slave's 
MySQL code. If you want to check the master's binary log or slave's relay log, you will be able 
to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
                 Skip_Counter: 0

復制關系依舊報錯。

第六步:重新reset slave all看看,結果成功了。

localhost.(none)>stop slave;
Query OK, 0 rows affected (0.00 sec)


localhost.(none)>reset slave all;
Query OK, 0 rows affected (0.03 sec)

第七步:重新搭建復制關系并啟動復制

localhost.(none)>change master to master_host='10.xx.xx.xx',
    -> master_user='replica',
    -> master_password='xxxxx',
    -> master_port=5511,
    -> master_auto_position=1;
Query OK, 0 rows affected, 2 warnings (0.01 sec)


localhost.(none)>start slave;
Query OK, 0 rows affected (0.00 sec)


localhost.(none)>show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.xx.xx.xx
                  Master_User: replica
                  Master_Port: 5511
                Connect_Retry: 60
                          ...
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

發現實例的復制關系可以建立起來了。

一點總結

    當磁盤寫滿的情況發生之后,mysql服務無法向元信息表中寫數據,relay log也可能已經不完整了,如果直接清理了服務器上的磁盤數據,再去重新change master修改主從復制關系,可能會出現報錯,不能直接修復,因為這不是一個正常的主從復制關系斷裂場景。

   所以,正確的做法應該是:

1、清理服務器的磁盤

2、重啟復制關系斷開的那個從庫

3、重新reset slave all、change master來搭建主從復制關系即可

   如果有更好的方法,還請不吝賜教。

以上就是磁盤寫滿導致MySQL復制失敗的解決方案的詳細內容,更多關于MySQL復制失敗的解決方案的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MySql主從復制機制全面解析
  • Mysql主從復制與讀寫分離圖文詳解
  • MySQL 復制表的方法
  • MySQL 8.0.23中復制架構從節點自動故障轉移的問題
  • MYSQL數據庫GTID實現主從復制實現(超級方便)
  • MySql主從復制實現原理及配置
  • 淺析MySQL的WriteSet并行復制
  • MySQL主從復制原理以及需要注意的地方
  • mysql 如何動態修改復制過濾器
  • 淺析MySQL并行復制
  • MySQL復制問題的三個參數分析

標簽:西寧 南充 無錫 迪慶 自貢 龍巖 麗水 徐州

巨人網絡通訊聲明:本文標題《磁盤寫滿導致MySQL復制失敗的解決方案》,本文關鍵詞  磁盤,寫滿,導致,MySQL,復制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《磁盤寫滿導致MySQL復制失敗的解決方案》相關的同類信息!
  • 本頁收集關于磁盤寫滿導致MySQL復制失敗的解決方案的相關信息資訊供網民參考!
  • 推薦文章
    日本在线不卡视频| 色综合久久久久综合体桃花网| 欧美大片a一级毛片视频| 国产一区二区精品尤物| 亚洲 男人 天堂| 精品久久久久久影院免费| 日本在线不卡免费视频一区| 欧美激情一区二区三区中文字幕| 国产91素人搭讪系列天堂| 日韩av片免费播放| 国产亚洲精品成人a在线| 青青青草影院 | 一a一级片| 国产91精品一区| 日韩中文字幕在线亚洲一区| 日本特黄特色aaa大片免费| 国产亚洲精品aaa大片| 久草免费资源| 国产一区精品| 国产精品免费精品自在线观看| 成人免费网站久久久| 麻豆系列国产剧在线观看| 九九久久99综合一区二区| 黄色短视频网站| 日韩在线观看免费| 国产一区二区精品| 精品久久久久久综合网| 久久久成人影院| 一级毛片看真人在线视频| 欧美a级片视频| 欧美激情中文字幕一区二区| 精品久久久久久影院免费| 欧美激情一区二区三区视频高清| 国产a毛片| 香蕉视频一级| 免费国产在线观看| 韩国三级香港三级日本三级la| 黄色福利| 午夜欧美福利| 国产伦精品一区二区三区在线观看| 人人干人人草| 成人高清视频免费观看| 成人免费网站久久久| 香蕉视频一级| 99色精品| 午夜久久网| 国产视频一区二区在线观看| 国产一区二区精品久久91| 欧美激情一区二区三区视频| 免费国产在线观看不卡| 国产激情视频在线观看| 香蕉视频久久| 久久精品免视看国产成人2021| 国产精品1024永久免费视频| 一级女性全黄久久生活片| 尤物视频网站在线观看| 日韩中文字幕一区| 亚洲 激情| 国产国产人免费视频成69堂| 亚洲精品中文一区不卡| 精品视频在线看| 日韩中文字幕在线播放| 亚洲精品影院久久久久久| 国产一级生活片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产视频网站在线观看| 欧美一级视频免费| 日本免费看视频| 九九精品久久久久久久久| 久久99这里只有精品国产| 可以免费看毛片的网站| a级黄色毛片免费播放视频| a级精品九九九大片免费看| 国产福利免费观看| 欧美国产日韩一区二区三区| 日韩专区第一页| 精品久久久久久中文| 美国一区二区三区| 国产国语在线播放视频| 亚欧成人乱码一区二区| 中文字幕一区二区三区精彩视频| 日本在线www| 国产麻豆精品免费密入口| 午夜激情视频在线观看| 国产伦久视频免费观看视频| 免费的黄视频| 精品国产亚洲人成在线| 欧美激情一区二区三区中文字幕| 美女免费黄网站| 国产美女在线观看| 中文字幕一区二区三区精彩视频 | 韩国毛片基地| 天天做人人爱夜夜爽2020毛片| 国产美女在线观看| 成人免费网站久久久| 日韩中文字幕一区| 久久精品大片| 亚洲 男人 天堂| 免费国产在线观看不卡| 国产精品12| 黄色短视频网站| 日韩avdvd| 日日夜夜婷婷| 免费国产在线视频| 国产美女在线观看| 日韩一级黄色片| 国产成人精品综合在线| 日韩一级精品视频在线观看| 精品视频一区二区三区免费| 国产成人女人在线视频观看| 精品久久久久久免费影院| 毛片成人永久免费视频| 高清一级片| 九九精品久久久久久久久| 99热热久久| 国产精品自拍在线| 黄视频网站在线免费观看| 青青久在线视频| 成人免费一级纶理片| 久草免费在线观看| 欧美另类videosbestsex久久| 精品视频一区二区三区| 精品视频免费在线| 成人高清视频在线观看| 国产成人女人在线视频观看| 国产麻豆精品视频| 国产精品免费久久| 国产网站在线| 国产网站在线| 国产视频一区二区在线观看| 夜夜操天天爽| 久久99中文字幕| 欧美另类videosbestsex| 国产成人精品影视| 超级乱淫黄漫画免费| 欧美激情中文字幕一区二区| 国产视频一区二区在线观看| 黄视频网站在线看| 国产麻豆精品| 欧美日本韩国| 国产韩国精品一区二区三区| 免费国产在线观看| 99久久精品国产国产毛片| 国产伦精品一区二区三区无广告| 成人免费网站久久久| 黄色短视频网站| 欧美电影免费看大全| 久久国产精品永久免费网站| 久久国产精品只做精品| 亚久久伊人精品青青草原2020| 你懂的在线观看视频| 欧美一区二区三区在线观看 | 免费一级片在线观看| 亚洲 国产精品 日韩| 精品国产亚一区二区三区| 黄视频网站在线免费观看| 91麻豆高清国产在线播放| 精品国产一区二区三区国产馆| 99久久精品国产麻豆| 欧美1卡一卡二卡三新区| 黄视频网站在线免费观看| 日韩在线观看免费完整版视频| 日韩欧美一二三区| 成人av在线播放| 可以在线看黄的网站| 四虎久久精品国产| 夜夜操天天爽| 日韩专区在线播放| 日韩免费在线视频| 999精品在线| 四虎影视库国产精品一区| 日韩一级黄色| 你懂的日韩| 国产韩国精品一区二区三区| 黄视频网站在线看| 日韩一级精品视频在线观看| 午夜激情视频在线观看| 欧美另类videosbestsex高清| 精品视频在线看| 色综合久久久久综合体桃花网| 在线观看导航| 九九久久国产精品| 九九精品在线| 四虎论坛| 国产不卡在线播放| 日韩男人天堂| 韩国妈妈的朋友在线播放| 日韩在线观看视频黄| 久久精品大片| 久久国产精品只做精品| 亚洲天堂免费| 99热热久久| 国产高清在线精品一区a| 亚欧成人乱码一区二区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩免费在线观看视频| 午夜激情视频在线观看| 久久99中文字幕| 国产高清视频免费观看| 国产伦精品一区二区三区无广告|