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

Mysql主從同步的實(shí)現(xiàn)原理

 更新時(shí)間:2017年03月13日 15:22:45   作者:zilu  
這篇文章主要介紹了Mysql主從同步的實(shí)現(xiàn)原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

1、什么是mysql主從同步?

當(dāng)master(主)庫的數(shù)據(jù)發(fā)生變化的時(shí)候,變化會實(shí)時(shí)的同步到slave(從)庫。

2、主從同步有什么好處?

  • 水平擴(kuò)展數(shù)據(jù)庫的負(fù)載能力。
  • 容錯(cuò),高可用。Failover(失敗切換)/High Availability
  • 數(shù)據(jù)備份。

3、主從同步的原理是什么?

首先我們來了解master-slave的體系結(jié)構(gòu)。

如下圖:

不管是delete、update、insert,還是創(chuàng)建函數(shù)、存儲過程,所有的操作都在master上。當(dāng)master有操作的時(shí)候,slave會快速的接收到這些操作,從而做同步。

但是,這個(gè)機(jī)制是怎么實(shí)現(xiàn)的呢?

在master機(jī)器上,主從同步事件會被寫到特殊的log文件中(binary-log);在slave機(jī)器上,slave讀取主從同步事件,并根據(jù)讀取的事件變化,在slave庫上做相應(yīng)的更改。

如此,就實(shí)現(xiàn)了主從同步了!

下面我們來詳細(xì)的了解。

3.1主從同步事件有哪些

上面說到:

在master機(jī)器上,主從同步事件會被寫到特殊的log文件中(binary-log);

主從同步事件有3種形式:statement、row、mixed。

  1. statement:會將對數(shù)據(jù)庫操作的sql語句寫入到binlog中。
  2. row:會將每一條數(shù)據(jù)的變化寫入到binlog中。
  3. mixed:statement與row的混合。Mysql決定什么時(shí)候?qū)憇tatement格式的,什么時(shí)候?qū)憆ow格式的binlog。

3.2在master機(jī)器上的操作

當(dāng)master上的數(shù)據(jù)發(fā)生改變的時(shí)候,該事件(insert、update、delete)變化會按照順序?qū)懭氲絙inlog中。

binlog dump線程

當(dāng)slave連接到master的時(shí)候,master機(jī)器會為slave開啟binlog dump線程。當(dāng)master 的 binlog發(fā)生變化的時(shí)候,binlog dump線程會通知slave,并將相應(yīng)的binlog內(nèi)容發(fā)送給slave。

3.3在slave機(jī)器上的操作

當(dāng)主從同步開啟的時(shí)候,slave上會創(chuàng)建2個(gè)線程。

  • I/O線程。該線程連接到master機(jī)器,master機(jī)器上的binlog dump線程會將binlog的內(nèi)容發(fā)送給該I/O線程。該I/O線程接收到binlog內(nèi)容后,再將內(nèi)容寫入到本地的relay log。
  • SQL線程。該線程讀取I/O線程寫入的relay log。并且根據(jù)relay log的內(nèi)容對slave數(shù)據(jù)庫做相應(yīng)的操作。

3.4如何在master、slave上查看上述的線程?

使用SHOW PROCESSLIST命令可以查看。

如圖,在master機(jī)器上查看binlog dump線程。

如圖,在slave機(jī)器上查看I/O、SQL線程。

4、講了這么多,一圖以蔽之

5、關(guān)于實(shí)戰(zhàn)

關(guān)于實(shí)戰(zhàn),請參考我的另一篇文章:Mysql主從同步實(shí)戰(zhàn)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQLJSON索引用法舉例簡單介紹

    MySQLJSON索引用法舉例簡單介紹

    索引是一個(gè)數(shù)據(jù)結(jié)構(gòu),索引是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)(有序),這篇文章主要給大家介紹了關(guān)于MySQLJSON索引用法的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • MySQL性能優(yōu)化之分區(qū)表的使用詳解

    MySQL性能優(yōu)化之分區(qū)表的使用詳解

    在當(dāng)今數(shù)據(jù)驅(qū)動(dòng)的時(shí)代,大型數(shù)據(jù)庫的性能優(yōu)化對于企業(yè)的成功至關(guān)重要,本文將深入探討MySQL分區(qū)表的基礎(chǔ)知識、性能優(yōu)勢、分區(qū)策略的選擇和實(shí)施等內(nèi)容,感興趣的小伙伴可以了解一下
    2023-06-06
  • MySQL中刪除重復(fù)數(shù)據(jù)SQL的三種寫法

    MySQL中刪除重復(fù)數(shù)據(jù)SQL的三種寫法

    這篇文章主要介紹了MySQL中刪除重復(fù)數(shù)據(jù)SQL的三種寫法,文中通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2025-01-01
  • MAC下MySQL忘記初始密碼怎么辦

    MAC下MySQL忘記初始密碼怎么辦

    MySQL初始密碼忘記怎么辦,這篇文章主要介紹了MAC下MySQL忘記初始密碼的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • MySQL?count(*),count(id),count(1),count(字段)區(qū)別

    MySQL?count(*),count(id),count(1),count(字段)區(qū)別

    本文主要介紹了MySQL?count(*),count(id),count(1),count(字段)區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • MySQL主從同步(復(fù)制)操作實(shí)戰(zhàn)記錄

    MySQL主從同步(復(fù)制)操作實(shí)戰(zhàn)記錄

    MySQL主從同步是一種常見的數(shù)據(jù)庫復(fù)制策略,用于提升系統(tǒng)的可擴(kuò)展性、容錯(cuò)性和數(shù)據(jù)安全性,這篇文章主要介紹了MySQL主從同步(復(fù)制)操作實(shí)戰(zhàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-11-11
  • SQL語句中OR和AND的混合使用的小技巧

    SQL語句中OR和AND的混合使用的小技巧

    在SQL語句中我們可能會經(jīng)?;旌鲜褂玫絆R和AND,其中可能會出現(xiàn)一些小問題,下面小編來講一講它的使用技巧
    2019-05-05
  • MySQL主從復(fù)制數(shù)據(jù)同步的實(shí)現(xiàn)步驟

    MySQL主從復(fù)制數(shù)據(jù)同步的實(shí)現(xiàn)步驟

    MySQL主從復(fù)制是一種數(shù)據(jù)同步技術(shù),通過將數(shù)據(jù)從主數(shù)據(jù)庫服務(wù)器復(fù)制到一個(gè)或多個(gè)從數(shù)據(jù)庫服務(wù)器來實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • MySQL基礎(chǔ)教程之DML語句詳解

    MySQL基礎(chǔ)教程之DML語句詳解

    DML 語句是指對數(shù)據(jù)庫中表的記錄進(jìn)行的操作,下面這篇文章主要給大家介紹了關(guān)于MySQL基礎(chǔ)教程之DML語句的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • mysql實(shí)現(xiàn)查詢最接近的記錄數(shù)據(jù)示例

    mysql實(shí)現(xiàn)查詢最接近的記錄數(shù)據(jù)示例

    這篇文章主要介紹了mysql實(shí)現(xiàn)查詢最接近的記錄數(shù)據(jù),涉及mysql查詢相關(guān)的時(shí)間轉(zhuǎn)換、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07

最新評論

清流县| 延庆县| 林州市| 松滋市| 九龙城区| 仙桃市| 峨边| 连平县| 丰都县| 临潭县| 怀来县| 宿松县| 太湖县| 醴陵市| 苏尼特左旗| 西畴县| 余姚市| 鄢陵县| 永顺县| 鄂温| 长白| 吉安市| 鄢陵县| 当阳市| 伊金霍洛旗| 白玉县| 灌阳县| 巩义市| 菏泽市| 绿春县| 合作市| 武定县| 永修县| 罗源县| 奉贤区| 曲阜市| 衡水市| 天津市| 屏南县| 桃江县| 磐石市|