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

MySQL多線程復(fù)制遇到Error_code: 1872的解決方案

 更新時(shí)間:2016年09月27日 09:02:36   作者:InsideMySQL  
本文給大家分享的是在使用mysql主從復(fù)制的時(shí)候遇到Error_code: 1872錯(cuò)誤的解決方法,非常的簡單,有需要的小伙伴可以參考下

上周在生產(chǎn)環(huán)境上遇到一個(gè)問題,不敢獨(dú)享,拿出來給小伙伴們做個(gè)簡單的分享。

起因 :由于IDC機(jī)房斷電(估計(jì)又是哪里被挖掘機(jī)碰了下吧),導(dǎo)致所有服務(wù)器重啟,影響到了其中的MySQL數(shù)據(jù)庫。來看下這時(shí)數(shù)據(jù)庫遇到的問題:

數(shù)據(jù)庫版本 :MySQL 5.7.10

問題表現(xiàn)

:從機(jī)復(fù)制報(bào)如下錯(cuò)誤:Slave SQL for channel ”: Slave failed to initialize relay log info structure from the repository, Error_code: 1872

用了Inside君的MySQL標(biāo)準(zhǔn)配置文件模板,怎么沒有實(shí)現(xiàn)crash safe呢?其實(shí),這主要是因?yàn)槎嗑€程復(fù)制(MTS)所引起。不知MySQL 5.7,即使MySQL 5.6也同樣會遇到問題。

在MTS場景下,可能會出現(xiàn)以下兩個(gè)問題:

gap事務(wù):后執(zhí)行的事務(wù)先回放(apply)了
Exec_Master_Log_Pos位置不準(zhǔn)確:可能存在已經(jīng)事務(wù)已經(jīng)提交,但是位置還沒更新(單線程復(fù)制不存在此問題)
gap事務(wù)比較好理解,因?yàn)椴徽撌腔赿atabase級別的MTS,還是基于logical_clock的MTS,都可能存在下面的這種場景:


由于MTS的原因,后面的事務(wù)可能比前面的事務(wù)早執(zhí)行,如上圖終可能事務(wù)tx2和tx4都已經(jīng)提交了,但是事務(wù)tx1和tx3還未提交。這時(shí)就稱為存在gap事務(wù)。在基于logical_clock的MTS場景下,用戶可以通過配置 參數(shù)slave_preserve_commit_order=1 來保證提交的順序性。

另一方面,這時(shí)Exec_Master_Log_Pos也是不準(zhǔn)確的,當(dāng)發(fā)生crash時(shí),master info中依然記錄的是tx1事務(wù)開始執(zhí)行的位置(見上圖右邊的部分)。切記,即使將參數(shù)slave_preserve_commit_order設(shè)置為1,MTS場景下依然不能保證Exec_Master_Log_Pos是準(zhǔn)確的,其稱之為 gap-free low-watermark 。因?yàn)镸TS場景下對于表slave_realy_info_log的更新并不是事務(wù)的(這個(gè)需要好好體會下)。

然而,MTS場景下引入了新的事務(wù)表slave_worker_info,用以表示發(fā)生宕機(jī)時(shí)每個(gè)線程更新到的位置,其與Worker線程的回放是事務(wù)的。因此,MySQL在恢復(fù)的時(shí)候可以通過通過Exec_Master_Log_Pos與表slave_worker_info的列Master_log_pos做對比,判斷是否需要回放當(dāng)前事務(wù)。

在MySQL 5.7.13版本之前,當(dāng)發(fā)生宕機(jī)后需要手動(dòng)執(zhí)行如下操作,若直接執(zhí)行CHANGE MASTER TO操作,則可能會觸發(fā)上述1872錯(cuò)誤:

START SLAVE UNTIL SQL_AFTER_MTS_GAPS;
START SLAVE SQL_THREAD;

由于服務(wù)器上的MySQL版本為5.7.10,而DBA試圖通過命令CHANGE MASTER TO來修復(fù)復(fù)制問題,因此導(dǎo)致了上述問題。而在MySQL 5.7.13版本后,上述問題將有MySQL自動(dòng)修復(fù)。簡單來說,即使發(fā)生了宕機(jī),也能準(zhǔn)確并自動(dòng)地恢復(fù)復(fù)制的運(yùn)行狀態(tài)。

不過,當(dāng)Inside升級到MySQL 5.7.15過程時(shí),又遇到了一個(gè)不大不小的坑,這個(gè)就留著等下回分享吧。

相關(guān)文章

  • MySQL pt-slave-restart工具的使用簡介

    MySQL pt-slave-restart工具的使用簡介

    這篇文章主要介紹了MySQL pt-slave-restart工具的使用簡介,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-04-04
  • 詳解MySQL多表查詢

    詳解MySQL多表查詢

    最近學(xué)習(xí)了多表查詢,這篇文章主要給大家介紹了關(guān)于MySQL多表查詢,文中通過實(shí)例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-04-04
  • MySQL?使用觸發(fā)器記錄用戶的操作日志問題

    MySQL?使用觸發(fā)器記錄用戶的操作日志問題

    使用?MySQL?觸發(fā)器可以記錄哪些用戶、什么時(shí)間對數(shù)據(jù)表進(jìn)行了增、刪、改操作。如果執(zhí)行刪除操作,則記錄刪除之前的數(shù)據(jù)記錄;如果執(zhí)行更新操作,記錄更新之前的數(shù)據(jù)記錄,這篇文章主要介紹了MySQL?使用觸發(fā)器記錄用戶的操作日志,需要的朋友可以參考下
    2022-12-12
  • mysql實(shí)現(xiàn)merge into問題

    mysql實(shí)現(xiàn)merge into問題

    文章介紹了在數(shù)據(jù)庫操作中,如何使用`REPLACE INTO`和`INSERT INTO ON DUPLICATE KEY UPDATE`語句進(jìn)行數(shù)據(jù)更新和插入操作,如果不想創(chuàng)建唯一性索引,可以通過存儲過程實(shí)現(xiàn),文章通過實(shí)驗(yàn)和驗(yàn)證,展示了這兩種方法的實(shí)際效果
    2024-12-12
  • MySql5.7.21安裝要點(diǎn)記錄筆記

    MySql5.7.21安裝要點(diǎn)記錄筆記

    這篇文章主要介紹了mysql5.7.21安裝要點(diǎn)記錄筆記,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • MySql主鍵id不推薦使用UUID的原因分析

    MySql主鍵id不推薦使用UUID的原因分析

    MySQL的索引主要分為主鍵索引(PRIMARY KEY),唯一索引(UNIQUE) ,普通索引(INDEX)和全文索引(FULLTEXT) ,主鍵索引是一種特殊的唯一索引,不允許有空值,這篇文章主要介紹了MySql主鍵id不推薦使用UUID的原因分析,需要的朋友可以參考下
    2023-03-03
  • 深入MYSQL中的COLLATE

    深入MYSQL中的COLLATE

    MYSQL COLLATE是用于指定字符集的排序規(guī)則的關(guān)鍵詞,它可以用于在查詢中對字符數(shù)據(jù)進(jìn)行排序和比較,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • MySQL?SQL性能分析之慢查詢?nèi)罩?、explain使用詳解

    MySQL?SQL性能分析之慢查詢?nèi)罩尽xplain使用詳解

    這篇文章主要介紹了MySQL?SQL性能分析?慢查詢?nèi)罩?、explain使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • MySQL多表查詢機(jī)制

    MySQL多表查詢機(jī)制

    這篇文章主要介紹了MySQL多表查詢機(jī)制,多表查詢首先離不開等值連接,下文我們從等值連接展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值需要的小伙伴可以參考一下
    2022-03-03
  • Mysql查看死鎖與解除死鎖的深入講解

    Mysql查看死鎖與解除死鎖的深入講解

    這篇文章主要給大家介紹了關(guān)于Mysql查看死鎖與解除死鎖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

安徽省| 连江县| 阿合奇县| 巴中市| 仙桃市| 宁远县| 金湖县| 棋牌| 榆林市| 牙克石市| 精河县| 安溪县| 安岳县| 军事| 梨树县| 昌乐县| 汕头市| 阿勒泰市| 酉阳| 科技| 灵寿县| 新宾| 青海省| 二手房| 彝良县| 工布江达县| 上犹县| 贵溪市| 尚义县| 祥云县| 德安县| 肥乡县| 郓城县| 河东区| 阳西县| 丰台区| 常德市| 青河县| 任丘市| 始兴县| 甘泉县|