在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MySQL主從復制原理詳解

阿銘linux ? 來源:阿銘linux ? 2023-02-06 10:27 ? 次閱讀

什么是主從復制

簡單講,MySQL主從復制就是數(shù)據(jù)寫入一臺服務器(主服務器)后,同時還會額外寫入另外的服務器(從服務器)。也就是說數(shù)據(jù)會寫多份,這樣做的目的主要有兩個:

1)備份數(shù)據(jù);

2)做負載均衡,對于寫來說沒有效果,但是對于讀是可以做到負載均衡的。

主從復制原理

22c8afbc-a528-11ed-bfe3-dac502259ad0.png

1)主上將所有變更事件記錄到binlog里

2)從發(fā)起請求連接主

3)主的binlog備份線程將binlog傳給從

4)從的I/O線程將binlog解析成自己的relay log

5)從的SQL線程根據(jù)relay log來執(zhí)行具體的SQL語句

MySQL主從復制是一個異步的復制過程,主庫發(fā)送更新事件到從庫,從庫讀取更新記錄,并執(zhí)行更新記錄,使得從庫的內容與主庫保持一致。

概念解釋

Binlog:binary log,主庫中保存所有更新事件日志的二進制文件。binlog是數(shù)據(jù)庫服務啟動的一刻起,保存數(shù)據(jù)庫所有變更記錄(數(shù)據(jù)庫結構和內容)的文件。在主庫中,只要有更新事件出現(xiàn),就會被依次地寫入到binlog中,之后會推送到從庫中作為從庫進行復制的數(shù)據(jù)源。

Binlog dump線程:每當有從庫連接到主庫的時候,主庫都會創(chuàng)建一個線程然后發(fā)送binlog內容到從庫。對于每一個即將發(fā)送給從庫的sql事件,binlog dump線程會將其鎖住。一旦該事件被線程讀取完之后,該鎖會被釋放,即使在該事件完全發(fā)送到從庫的時候,該鎖也會被釋放。

在從庫中,當復制開始時,從庫就會創(chuàng)建從庫I/O線程和從庫的SQL線程進行復制處理。

從庫I/O線程:當START SLAVE語句在從庫開始執(zhí)行之后,從庫創(chuàng)建一個I/O線程,該線程連接到主庫并請求主庫發(fā)送binlog里面的更新記錄到從庫上。從庫I/O線程讀取主庫的binlog輸出線程發(fā)送的更新并拷貝這些更新到本地文件,其中包括relay log文件。

從庫的SQL線程:從庫創(chuàng)建一個SQL線程,這個線程讀取從庫I/O線程寫到relay log的更新事件并執(zhí)行。

基于GTID的主從復制

1)什么是GTID

GTID(Global Transaction ID)是對于一個已提交事務的編號,并且是一個全局唯一的編號。GTID實際上是由UUID+TID組成的。其中UUID是一個MySQL實例的唯一標識,保存在mysql數(shù)據(jù)目錄下的auto.cnf文件里。TID代表了該實例上已經提交的事務數(shù)量,并且隨著事務提交單調遞增。下面是一個GTID的具體形式:3E11FA47-71CA-11E1-9E33-C80AA9429562:23

2)GTID的作用

根據(jù)GTID可以知道事務最初是在哪個實例上提交的,GTID的存在方便了Replication的Failover(故障切換)

3)GTID比傳統(tǒng)復制的優(yōu)勢

更簡單的實現(xiàn)failover,不用以前那樣在需要找log_file和log_Pos。更簡單的搭建主從復制。比傳統(tǒng)復制更加安全。GTID是連續(xù)沒有空洞的,因此主從庫出現(xiàn)數(shù)據(jù)沖突時,可以用添加空事物的方式進行跳過。

4)GTID的工作原理

① master更新數(shù)據(jù)時,會在事務前產生GTID,一同記錄到binlog日志中。

② slave端的i/o線程將變更的binlog,寫入到本地的relay log中。

③ sql線程從relay log中獲取GTID,然后對比slave端的binlog是否有記錄。

④ 如果有記錄,說明該GTID的事務已經執(zhí)行,slave會忽略。

⑤ 如果沒有記錄,slave就會從relay log中執(zhí)行該GTID的事務,并記錄到binlog。

⑥ 在解析過程中會判斷是否有主鍵,如果有就用二級索引,如果沒有就用全部掃描。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9568

    瀏覽量

    86910
  • SQL
    SQL
    +關注

    關注

    1

    文章

    779

    瀏覽量

    44681
  • MySQL
    +關注

    關注

    1

    文章

    840

    瀏覽量

    27286
  • 線程
    +關注

    關注

    0

    文章

    507

    瀏覽量

    20006
  • binlog
    +關注

    關注

    0

    文章

    7

    瀏覽量

    1292

原文標題:MySQL主從復制原理

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Mysql如何實現(xiàn)雙向互為主從復制

    機器上得到的偏移量如果是基于GTID的主從復制 不用找binglog 和pos點master_auto_position=1;#加上這個參數(shù)就可以
    發(fā)表于 06-22 17:48

    基于二進制安裝MySQL主從復制

    二進制安裝MySQL實現(xiàn)主從復制
    發(fā)表于 03-10 09:43

    mysql主從復制

    mysql 主從復制
    發(fā)表于 04-28 14:30

    基于mycat的Mysql主從復制讀寫分離全攻略

    基于mycat的Mysql主從復制讀寫分離全攻略
    發(fā)表于 09-08 10:10 ?4次下載
    基于mycat的<b class='flag-5'>Mysql</b><b class='flag-5'>主從復制</b>讀寫分離全攻略

    利用MySQL進行一主一從的主從復制

    本文講述了如何使用MyBatisPlus+ShardingSphereJDBC進行讀寫分離,以及利用MySQL進行一主一從的主從復制
    的頭像 發(fā)表于 07-28 09:47 ?1179次閱讀

    一個操作把MySQL主從復制整崩了

    最近公司某項目上反饋mysql主從復制失敗,被運維部門記了一次大過,影響到了項目的驗收推進,那么究竟是什么原因導致的呢?而主從復制的原理又是什么呢?本文就對排查分析的過程做一個記錄。
    的頭像 發(fā)表于 05-11 11:14 ?649次閱讀
    一個操作把<b class='flag-5'>MySQL</b><b class='flag-5'>主從復制</b>整崩了

    聊聊RocketMQ的主從復制

    RocketMQ 主從復制是 RocketMQ 高可用機制之一,數(shù)據(jù)可以從主節(jié)點復制到一個或多個從節(jié)點。
    的頭像 發(fā)表于 07-04 09:42 ?807次閱讀
    聊聊RocketMQ的<b class='flag-5'>主從復制</b>

    什么是Redis主從復制

    Redis主從復制 來自靈魂的拷問:什么是Redis主從復制? 簡言之就是: 主對外從對內,主可寫從不可寫 主掛了,從不可為主 看下面的圖加深下理解: 對,你沒看錯,Redis主從復制沒有動態(tài)選舉
    的頭像 發(fā)表于 10-09 15:09 ?530次閱讀
    什么是Redis<b class='flag-5'>主從復制</b>

    mysql主從復制三種模式

    MySQL主從復制是一種常見的數(shù)據(jù)同步方式,它可以實現(xiàn)將一個數(shù)據(jù)庫的更改同步到其他多個數(shù)據(jù)庫的功能。主從復制可以提高數(shù)據(jù)庫的可用性和性能,以及提供故障恢復和數(shù)據(jù)備份的支持。在MySQL
    的頭像 發(fā)表于 11-16 14:04 ?1759次閱讀

    mysql如何實現(xiàn)主從復制的具體流程

    主從復制MySQL數(shù)據(jù)庫中常用的數(shù)據(jù)復制技術之一,它的主要目的是將一個數(shù)據(jù)庫服務器上的數(shù)據(jù)復制到其他服務器上,以實現(xiàn)數(shù)據(jù)的備份、高可用和分布式部署。下面將詳細介紹
    的頭像 發(fā)表于 11-16 14:10 ?897次閱讀

    mysql主從復制主要有幾種模式

    MySQL主從復制MySQL數(shù)據(jù)庫中常用的一種數(shù)據(jù)復制方式,用于實現(xiàn)數(shù)據(jù)的備份、負載均衡、故障恢復等目的。主從復制主要有以下幾種模式: 異
    的頭像 發(fā)表于 11-16 14:15 ?1339次閱讀

    mysql主從復制的原理

    MySQL主從復制是一種數(shù)據(jù)庫復制技術,它允許將一個MySQL數(shù)據(jù)庫的更新操作自動復制到其他MySQL
    的頭像 發(fā)表于 11-16 14:18 ?606次閱讀

    mysql主從復制 混合類型的復制

    MySQL主從復制是一種常用的數(shù)據(jù)復制技術,可以實現(xiàn)數(shù)據(jù)從一個MySQL服務器(主服務器)復制到另一個M
    的頭像 發(fā)表于 11-16 14:20 ?705次閱讀

    mysql主從復制數(shù)據(jù)不一致怎么辦

    MySQL主從復制是一種常用的數(shù)據(jù)復制技術,用于實現(xiàn)數(shù)據(jù)的實時同步和分布式部署。然而,在實際應用中,主從復制過程中出現(xiàn)數(shù)據(jù)不一致的情況也是很常見的。本文將從以下幾個方面介紹
    的頭像 發(fā)表于 11-16 14:35 ?2658次閱讀

    配置MySQL主從復制和讀寫分離

    配置MySQL主從復制和讀寫分離
    的頭像 發(fā)表于 10-23 11:44 ?688次閱讀
    配置<b class='flag-5'>MySQL</b><b class='flag-5'>主從復制</b>和讀寫分離
    主站蜘蛛池模板: 欧美亚洲天堂网 | 性欧美极品另类 | 欧美极品| 日本三级成人午夜视频网 | 美女黄频 | 国产1卡2卡三卡四卡网站 | 丁香久久婷婷 | 手机毛片| 国产乱人视频在线看 | 四虎永久免费地ww4hu57 | 丁香综合五月 | 激情综合网婷婷 | 国产网站免费视频 | 97久久综合区小说区图片专区 | 高颜值大长腿美女啪啪 | 欧美一卡2卡三卡四卡五卡 欧美一卡二卡3卡4卡无卡六卡七卡科普 | 国产在线观看黄 | 西西人体44rt高清午夜 | 成人午夜大片免费视频77777 | 孩交精品xxxx视频视频 | 草馏社区| 日韩有色 | 日韩精品视频免费观看 | 欧美不在线 | 精品视频一区在线观看 | 欧美伦理一区 | 四虎影院久久久 | 国产色婷婷精品免费视频 | 51午夜| 欧美一区二区精品 | 免费理论片在线观看播放 | 大尺度很肉污的古代小说 | 国产亚洲第一伦理第一区 | 六月婷婷在线 | 免费激情网站 | 国产免费人成在线视频视频 | 国产成人高清精品免费5388密 | 天天摸天天爽天天澡视频 | 操一操干一干 | 性感美女毛片 | 国产农村妇女毛片精品久久久 |