中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL案例--磁盤空間不足&MTS Group recovery失敗

發布時間:2020-08-11 18:51:04 來源:ITPUB博客 閱讀:163 作者:wangwenan6 欄目:MySQL數據庫

-------------------------------------------------------------------------------------------------正文---------------------------------------------------------------------------------------------------------------
線上業務,最后一次內測階段;
背景:MySQL-5.7.12
問題發生的現象:
收到報警信息,業務主庫A的心跳檢測失敗,將備庫B升級為業務主庫;
問題發生的原因:
業務主庫A的數據文件目錄的磁盤空間剩余量為0%;
問題解決的過程:
磁盤空間寫滿以后,DML語句無法將數據變更落盤,因此導致業務主庫不可用;
所以處理方式也很簡單,清理一部分空間以后,purge掉了一些已經備份過的binlog
不過在處理中發現一個問題,replication slave在報錯;
查看mysql的error-log,可以看到如下信息:
MySQL案例--磁盤空間不足&MTS Group recovery失敗

MySQL案例--磁盤空間不足&MTS Group recovery失敗

與此同時,不管是start slave還是change master都無法完成,會在error-log中不斷的刷新類似的錯誤信息;

由于業務主庫A降級是在磁盤空間寫滿以后,所以可以確認備庫B上的業務操作不可能會在A上面執行,兩個庫之間不會有一致性的問題;
于是選擇了reset slave all+change master的方式,重新恢復了同步;

故障報告寫完以后,再詳細研究一下這種現象的原因:
找到一個bug記錄:發生于MySQL-5.6
http://bugs.mysql.com/bug.php?id=77496
并且在5.7.12中也發現過:
https://bugs.mysql.com/bug.php?id=80102

在comment中,提到了relay_log_recovery=ON和
slave-parallel-type=LOGICAL_CLOCK時會出現這個問題;
恰好正在出問題的庫也是這種設置;

發生錯誤的原因:
基于在5.6的Group Commit特性,5.7中實現了Mutil-Thread-Slave的特性,多個線程會同時復現relay-log中, 同一組的事務;
因此
multi-threaded replication slave在運行過程中,如果意外的停止了,由于無法確認事務的一致性,在開啟了relay_log_recovery的情況下,會出現如截圖中的信息;

官方推薦的恢復步驟:
1.
設置
relay_log_recovery=0;
2.啟動slave的時候,帶上特殊命令:
START SLAVE UNTIL SQL_AFTER_MTS_GAPS
3.設置relay_log_recovery=1;
非常重要的一點:relay_log_recovery不是一個動態的參數,需要重啟數據庫實例;


這個問題在5.7.13得到了修復,整個操作步驟會在重啟的時候自動進行;重啟的時候...重啟的...重啟...

雖然和bug文檔以及官方描述的場景不同,不過上文中出現的情況應該是同一個原因造成的;
好在能夠確認A庫上的multi-threaded replication slave不可能出現事務不一致的情況,所以就簡單粗暴的清除了slave的信息,然后重新進行了同步;

PS:GTID大法好~

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五峰| 石楼县| 吉水县| 闸北区| 洱源县| 黔南| 临夏县| 宜良县| 临沭县| 黎川县| 区。| 吉安市| 保定市| 岐山县| 宕昌县| 乌兰察布市| 白朗县| 海林市| 东方市| 金寨县| 玛纳斯县| 海阳市| 招远市| 望城县| 思南县| 镇沅| 奉贤区| 新宾| 望都县| 定西市| 丹凤县| 通山县| 如皋市| 西贡区| 西吉县| 英德市| 宁德市| 大厂| 铁力市| 白河县| 彭泽县|