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

Mysql主從三種復制模式(異步復制,半同步復制,組復制)

 更新時間:2022年08月10日 17:08:27   作者:Rickyyan???????  
這篇文章主要介紹了Mysql主從三種復制模式(異步復制,半同步復制,組復制),MySQL異步復制是主從復制過程中默認的復制模式,下文簡單介紹,感興趣的朋友可以參考一下

MySQL異步復制

MySQL異步復制是主從復制過程中默認的復制模式。主從復制涉及三個線程,master I/O線程、slave I/O線程、slave sql線程。因為是異步復制,所以master事務的提交,不需要經過slave的確認,即master I/O線程提交事務后,不需要等待slave I/O線程的回復確認,master并不保證binlog一定寫入到了relay log中;而slave I/O把binlog寫入relay log后,由slave sql線程異步執(zhí)行應用到slave mysql中,slave I/O也不需要slave sql的回復確認,并不保證relay log日志完整寫入到了mysql中。

半同步復制

基于傳統(tǒng)異步存在的缺陷,mysql在5.5版本推出半同步復制,是對傳統(tǒng)異步復制的改進。在master事務commit前,必須確保binlog日志已經寫入slave 的relay log日志中,收到slave給master的響應后,才能進行事務的commit。但是后半部分的relay log到sql線程仍然屬于異步執(zhí)行。

組復制

基于傳統(tǒng)異步復制和半同步復制的缺陷——數據的一致性問題無法保證,MySQL官方在5.7.17版本正式推出組復制(MySQL Group Replication,簡稱MGR)。

由若干個節(jié)點共同組成一個復制組,一個事務的提交,必須經過組內大多數節(jié)點(N / 2 + 1)決議并通過,才能得以提交。如上圖所示,由3個節(jié)點組成一個復制組,Consensus層為一致性協議層,在事務提交過程中,發(fā)生組間通訊,由2個節(jié)點決議(certify)通過這個事務,事務才能夠最終得以提交并響應。

引入組復制,主要是為了解決傳統(tǒng)異步復制和半同步復制可能產生數據不一致的問題。組復制依靠分布式一致性協議(Paxos協議的變體),實現了分布式下數據的最終一致性,提供了真正的數據高可用方案(是否真正高可用還有待商榷)。其提供的多寫方案,給我們實現多活方案帶來了希望。

MGR環(huán)境下,服務器數量必須是3臺以上,并且是單數,實現2/n+1的算法。

一個復制組由若干個節(jié)點(數據庫實例)組成,組內各個節(jié)點維護各自的數據副本(Share Nothing),通過一致性協議實現原子消息和全局有序消息,來實現組內實例數據的一致。

MGR的解決方案現在具備的特性

數據一致性保障:確保集群中大部分節(jié)點收到日志

多節(jié)點寫入支持:多寫模式下支持集群中的所有節(jié)點都可以寫入(但是考慮1到高并發(fā)場景下,保證數據高度一致性,生產并沒有選擇多主寫入,使用單主集群)

Fault Tolerance: 確保系統(tǒng)發(fā)生故障(包括腦裂)依然可用,雙寫對系統(tǒng)無影響

MGR的解決方案目前的影響

  • 僅支持InnoDB表,并且每張表一定要有一個主鍵,用于做write set的沖突檢測;
  • 必須打開GTID特性,二進制日志格式必須設置為ROW,用于選主與write set
  • COMMIT可能會導致失敗,類似于快照事務隔離級別的失敗場景
  • 目前一個MGR集群最多支持9個節(jié)點
  • 不支持外鍵于save point特性,無法做全局間的約束檢測與部分部分回滾
  • 二進制日志不支持binlog event checksum

到此這篇關于Mysql主從三種復制模式(異步復制,半同步復制,組復制)的文章就介紹到這了,更多相關Mysql主從復制內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mysql中如何用varchar字符串按照數字排序

    mysql中如何用varchar字符串按照數字排序

    這篇文章主要介紹了mysql中用varchar字符串按照數字排序方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL left join操作中on和where放置條件的區(qū)別介紹

    MySQL left join操作中on和where放置條件的區(qū)別介紹

    這篇文章主要給大家介紹了關于MySQL left join操作中on和where放置條件的區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2019-01-01
  • 讓你的查詢效率至少提高4倍的MySQL技巧總結

    讓你的查詢效率至少提高4倍的MySQL技巧總結

    這篇文章主要給大家總結介紹了關于讓你的查詢效率至少提高4倍的MySQL技巧,MySQL數據庫執(zhí)行效率對程序的執(zhí)行速度有很大的影響,有效的處理優(yōu)化數據庫是非常有用的,需要的朋友可以參考下
    2024-05-05
  • MySQL索引選擇與失效場景全解析

    MySQL索引選擇與失效場景全解析

    在MySQL數據庫中,索引是一種重要的優(yōu)化手段,它能夠顯著提升查詢速度,尤其是在大數據量的表中,然而,如果不正確地使用,索引可能會失去作用,導致查詢性能下降,所以本文給大家介紹了MySQL索引選擇與失效場景全解析,需要的朋友可以參考下
    2025-06-06
  • mysql如何配置secure_file_priv

    mysql如何配置secure_file_priv

    這篇文章主要介紹了mysql如何配置secure_file_priv問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MySQL Aborted connection告警日志的分析

    MySQL Aborted connection告警日志的分析

    這篇文章主要介紹了MySQL Aborted connection告警日志的分析,幫助大家更好的理解和學習MySQL,感興趣的朋友可以了解下
    2020-08-08
  • MYSQL每隔10分鐘進行分組統(tǒng)計的實現方法

    MYSQL每隔10分鐘進行分組統(tǒng)計的實現方法

    這篇文章主要給大家介紹了如何利用MYSQL實現每隔10分鐘進行分組統(tǒng)計的方法,文中給出了詳細的示例代碼,相信對大家的理解和學習具有一定的參考借鑒價值,有需要的朋友們下面來一起看看吧。
    2016-12-12
  • 連接mysql連接超時報錯問題以及解決

    連接mysql連接超時報錯問題以及解決

    這篇文章主要介紹了連接mysql連接超時報錯問題以及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MySQL之union和union all的使用及區(qū)別說明

    MySQL之union和union all的使用及區(qū)別說明

    這篇文章主要介紹了MySQL之union和union all的使用及區(qū)別說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • mysql導出查詢結果到csv的實現方法

    mysql導出查詢結果到csv的實現方法

    下面小編就為大家?guī)硪黄猰ysql導出查詢結果到csv的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論

榆林市| 洮南市| 太保市| 普兰县| 望都县| 六枝特区| 两当县| 屯留县| 岳池县| 瑞金市| 鄂伦春自治旗| 萨迦县| 北宁市| 祁阳县| 通许县| 仲巴县| 满洲里市| 通州市| 梁山县| 青海省| 文山县| 崇文区| 桂平市| 彭山县| 泰顺县| 寿光市| 临清市| 宜昌市| 陆川县| 铜山县| 九台市| 探索| 盐亭县| 称多县| 乌海市| 东丰县| 梅河口市| 辽源市| 屏边| 苗栗县| 佛学|