最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL主從復(fù)制斷開的常用修復(fù)方法

 更新時(shí)間:2021年04月07日 10:53:48   作者:DBA隨筆  
這篇文章主要介紹了MySQL主從復(fù)制斷開的常用修復(fù)方法,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下

01 問題描述

      在生產(chǎn)環(huán)境中,我們經(jīng)常會(huì)遇見MySQL主從復(fù)制斷開的情況,在遇到主從復(fù)制斷開是,通常情況,解決問題的步驟如下:

1、從庫上show slave status查看復(fù)制斷開的直觀原因,并記錄當(dāng)前的復(fù)制位點(diǎn)

2、查看error log,分析更詳細(xì)的復(fù)制斷開原因

3、修復(fù)主從復(fù)制關(guān)系

4、如果復(fù)制關(guān)系無法修復(fù),則需要重新搭建從庫

02 解決問題的方法

      主從復(fù)制關(guān)系斷裂,有各種各樣的原因。有些時(shí)候,我們沒有時(shí)間去客觀分析原因,因?yàn)閼?yīng)用程序處于無法使用狀態(tài),需要立即恢復(fù),這種情況下,我們對(duì)復(fù)制斷裂問題和服務(wù)可用性之間必須做一個(gè)權(quán)衡,然后再進(jìn)行相應(yīng)的處理。

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

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

   這種方法,需要你的應(yīng)用具有至少一主兩從的架構(gòu),其中一個(gè)從庫發(fā)生問題,可以將另外一個(gè)從庫快速上線,從而恢復(fù)應(yīng)用訪問,后續(xù)再來排查出現(xiàn)故障的從庫的具體問題原因。

2、跳過復(fù)制失敗的錯(cuò)誤

    有些情況下,我們可以判斷主從復(fù)制斷裂的原因,例如主庫上比從庫上多一個(gè)數(shù)據(jù)庫db_1,那么當(dāng)我們?cè)谥鲙焐蠄?zhí)行drop database db_1的時(shí)候,從庫的復(fù)制一定會(huì)斷開。這種情況下,我們可以通過跳過一個(gè)事務(wù)來解決。

方法一:(直接跳過當(dāng)前事務(wù))

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

mysql> STOP SLAVE;
mysql> SET GTID_NEXT='xxxxxx:yyy'; ----- 設(shè)置需要跳過的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分析,知道了下一個(gè)事務(wù)的具體點(diǎn)位,也可以指定下一個(gè)事務(wù)具體位置的方法來解決:

GTID模式下:

mysql>  STOP SLAVE;
mysql>  RESET MASTER;
mysql>  SET @@GLOBAL.GTID_PURGED ='xxxxxxx:yyyyyy'  ----- 表示這些gtid event已經(jīng)執(zhí)行過了
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工具

    如果我們跳過一個(gè)事務(wù)之后,還出現(xiàn)斷開的場(chǎng)景(例如我們?cè)趶膸焐蟿h除了100條數(shù)據(jù),但是主庫要更新這100條數(shù)據(jù)),可以使用pt-slave-restart這個(gè)工具,它可以連續(xù)跳過斷開的位置。

    它的使用方法如下:

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

   當(dāng)我們使用并行復(fù)制的時(shí)候,pt-slave-restart可能會(huì)出現(xiàn)報(bào)錯(cuò),這個(gè)時(shí)候我們可以通過將并行復(fù)制修改為單線程復(fù)制,然后再使用pt-slave-restart工具,可以參考這篇文章:

pt-slave-restart工具

方法四:設(shè)置參數(shù)slave_exec_mode

     這個(gè)參數(shù)可以修改主從復(fù)制過程中的從庫執(zhí)行模式,如果是strict嚴(yán)格模式,則所有的復(fù)制一旦報(bào)錯(cuò)就會(huì)停止,如果設(shè)置成idempotent冪等模式,則特定錯(cuò)誤號(hào)的錯(cuò)誤將會(huì)被跳過。命令如下:

set global slave_exec_mode = idempotent

具體可以參考之前的文章:

MySQL復(fù)制問題的三個(gè)參數(shù)介紹

這篇文章中還有其他兩種跳過復(fù)制錯(cuò)誤的參數(shù),分別是slave_skip_errors、sql_slave_skip_counter

3、利用備份重建從庫

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

以上就是MySQL主從復(fù)制斷開的常用修復(fù)方法的詳細(xì)內(nèi)容,更多關(guān)于MySQL主從復(fù)制斷開修復(fù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mysql中#{}和${}的區(qū)別詳解

    mysql中#{}和${}的區(qū)別詳解

    本文主要介紹了mysql中#{}和${}的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Mysql一些復(fù)雜的sql語句(查詢與刪除重復(fù)的行)

    Mysql一些復(fù)雜的sql語句(查詢與刪除重復(fù)的行)

    這篇文章主要介紹了Mysql一些復(fù)雜的sql語句(查詢與刪除重復(fù)的行),需要的朋友可以參考下
    2017-05-05
  • driver-class-name:?com.mysql.jdbc.Driver爆紅的問題解決

    driver-class-name:?com.mysql.jdbc.Driver爆紅的問題解決

    在springboot項(xiàng)目工程中想要進(jìn)行數(shù)據(jù)庫配置,driver-class-name:?com.mysql.cj.jdbc.Driver始終報(bào)錯(cuò),本文就來介紹一下如何解決,感興趣的可以了解一下
    2024-07-07
  • mysql 開放外網(wǎng)訪問權(quán)限的方法

    mysql 開放外網(wǎng)訪問權(quán)限的方法

    今天小編就為大家分享一篇mysql 開放外網(wǎng)訪問權(quán)限的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • MySQL是如何處理排序的(最新推薦)

    MySQL是如何處理排序的(最新推薦)

    在MySQL的查詢中常常會(huì)用到order by和group by這兩個(gè)關(guān)鍵字,它們的相同點(diǎn)是都會(huì)對(duì)字段進(jìn)行排序,那查詢語句中的排序是如何實(shí)現(xiàn)的呢,下面跟隨小編一起看看吧
    2024-05-05
  • 兩種方法實(shí)現(xiàn)mysql分組計(jì)數(shù),范圍匯總

    兩種方法實(shí)現(xiàn)mysql分組計(jì)數(shù),范圍匯總

    這篇文章主要介紹了兩種方法實(shí)現(xiàn)mysql分組計(jì)數(shù),范圍匯總,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 淺談MySQL數(shù)據(jù)同步到 Redis 緩存的幾種方法

    淺談MySQL數(shù)據(jù)同步到 Redis 緩存的幾種方法

    本文主要介紹了淺談MySQL數(shù)據(jù)同步到 Redis 緩存的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 一文帶你了解MySQL基于規(guī)則的優(yōu)化

    一文帶你了解MySQL基于規(guī)則的優(yōu)化

    MySQL依據(jù)一些規(guī)則,竭盡全力的把這些很糟糕的語句轉(zhuǎn)換成某種可以比較高效執(zhí)行的形式,這個(gè)過程也可以被稱作查詢重寫,本章主要就是詳細(xì)講解下這些比較重要的重寫規(guī)則,感興趣的小伙伴可跟著小編一起來學(xué)習(xí)
    2023-05-05
  • MySQL的幾種安裝方式及配置問題小結(jié)

    MySQL的幾種安裝方式及配置問題小結(jié)

    這篇文章主要介紹了MySQL的幾種安裝方式及配置,然后在文章底部給大家介紹了安裝過程中的問題總結(jié),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-07-07
  • mysql server 5.7.20 安裝配置方法圖文教程

    mysql server 5.7.20 安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql server 5.7.20 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09

最新評(píng)論

白朗县| 侯马市| 托里县| 邵武市| 丹阳市| 邻水| 达日县| 泰安市| 大埔区| 阳新县| 醴陵市| 常熟市| 陆丰市| 东阿县| 卢氏县| 三明市| 阿拉善左旗| 资兴市| 曲水县| 思茅市| 龙山县| 于都县| 昌乐县| 道真| 梓潼县| 大连市| 勐海县| 祁门县| 河间市| 资阳市| 松原市| 巧家县| 盘山县| 汶川县| 微博| 古丈县| 平阴县| 辛集市| 偃师市| 陆良县| 梅河口市|