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

溫馨提示×

溫馨提示×

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

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

MySQL主從復制斷開如何修復

發布時間:2021-04-07 15:33:47 來源:億速云 閱讀:301 作者:Leah 欄目:開發技術

本篇文章為大家展示了MySQL主從復制斷開如何修復,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

      主從復制關系斷裂,有各種各樣的原因。有些時候,我們沒有時間去客觀分析原因,因為應用程序處于無法使用狀態,需要立即恢復,這種情況下,我們對復制斷裂問題和服務可用性之間必須做一個權衡,然后再進行相應的處理。

常見的解決主從復制斷裂的方法有以下幾種:

1、找到其他從庫,快速替換

   這種方法,需要你的應用具有至少一主兩從的架構,其中一個從庫發生問題,可以將另外一個從庫快速上線,從而恢復應用訪問,后續再來排查出現故障的從庫的具體問題原因。

2、跳過復制失敗的錯誤

    有些情況下,我們可以判斷主從復制斷裂的原因,例如主庫上比從庫上多一個數據庫db_1,那么當我們在主庫上執行drop database db_1的時候,從庫的復制一定會斷開。這種情況下,我們可以通過跳過一個事務來解決。

方法一:(直接跳過當前事務)

    在GTID模式下,可以通過下面的命令來解決:

mysql> STOP SLAVE;
mysql> SET GTID_NEXT='xxxxxx:yyy'; ----- 設置需要跳過的gtid event
mysql> BEGIN;COMMIT;
mysql> SET GTID_NEXT='AUTOMATIC';
mysql> START SLAVE;

   在非GTID模式下,可以通過下面的命令來解決:

stop slave;
set sql_slave_skip_counter=1;
start slave;
方法二:(指定新位置)

    如果我們通過binlog分析,知道了下一個事務的具體點位,也可以指定下一個事務具體位置的方法來解決:

GTID模式下:

mysql>  STOP SLAVE;
mysql>  RESET MASTER;
mysql>  SET @@GLOBAL.GTID_PURGED ='xxxxxxx:yyyyyy'  ----- 表示這些gtid event已經執行過了
mysql>  START SLAVE;

注意,GTID_PURGED 必須是 GLOBAL,上面的命令也可以寫成set global gtid_purged='xxx:yyy'

非GTID模式下:

stop slave;
change master to master_log_file='mysql-bin.001360',master_log_pos=676383371;
start slave;
方法三:pt-slave-restart工具

    如果我們跳過一個事務之后,還出現斷開的場景(例如我們在從庫上刪除了100條數據,但是主庫要更新這100條數據),可以使用pt-slave-restart這個工具,它可以連續跳過斷開的位置。

    它的使用方法如下:

pt-slave-restart -h 10.xxx.xxx.xxx -P port -u user -p password

   當我們使用并行復制的時候,pt-slave-restart可能會出現報錯,這個時候我們可以通過將并行復制修改為單線程復制,然后再使用pt-slave-restart工具,可以參考這篇文章:

pt-slave-restart工具

方法四:設置參數slave_exec_mode

     這個參數可以修改主從復制過程中的從庫執行模式,如果是strict嚴格模式,則所有的復制一旦報錯就會停止,如果設置成idempotent冪等模式,則特定錯誤號的錯誤將會被跳過。命令如下:

set global slave_exec_mode = idempotent

3、利用備份重建從庫

   這種方法的使用場景不多,通常情況下,只有從庫已經不可用或者無法從主庫同步的時候,才會考慮這種方法,例如主庫上執行了reset master操作,導致所有的binlog被清理了,這樣從庫就無法獲取讀取正確的binlog,復制就會斷開,這種情況下,重建從庫可能是唯一的辦法了。

上述內容就是MySQL主從復制斷開如何修復,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

大安市| 石景山区| 绥德县| 盘山县| 紫云| 古田县| 白城市| 山丹县| 邵东县| 陵水| 南京市| 汕尾市| 建平县| 江油市| 杭锦旗| 东至县| 丰都县| 香格里拉县| 米林县| 松桃| 云林县| 靖宇县| 长治县| 忻州市| 右玉县| 广元市| 岱山县| 兴隆县| 迭部县| 南阳市| 沽源县| 城口县| 泊头市| 越西县| 桃江县| 新干县| 师宗县| 阿拉善左旗| 福泉市| 大化| 友谊县|