亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

疏附县| 峨眉山市| 金坛市| 乐业县| 秦皇岛市| 古蔺县| 丘北县| 桂林市| 荣昌县| 和林格尔县| 江山市| 芦山县| 赤壁市| 称多县| 温宿县| 句容市| 濮阳县| 来宾市| 揭东县| 瓮安县| 宝鸡市| 三都| 河曲县| 合肥市| 随州市| 柘城县| 修水县| 武宁县| 河东区| 中江县| 济南市| 和龙市| 平定县| 衡阳县| 平乡县| 东兴市| 民丰县| 阳春市| 洛南县| 五大连池市| 会宁县|