【MySQL】MySQL 復(fù)制

MySQL復(fù)制介紹

MySQL復(fù)制允許將主實(shí)例(master)上的數(shù)據(jù)同步到一個(gè)或多個(gè)從實(shí)例(slave)上,默認(rèn)情況下復(fù)制是異步進(jìn)行的,從庫(kù)也不需要一直連接到主庫(kù)來同步數(shù)據(jù)。

MySQL復(fù)制的數(shù)據(jù)粒度可以是主實(shí)例上所有的數(shù)據(jù)庫(kù),也可以是指定的一個(gè)或多個(gè)數(shù)據(jù)庫(kù),也可以是一個(gè)數(shù)據(jù)庫(kù)里的指定的表。

MySQL復(fù)制所帶來的優(yōu)勢(shì)在于:

拓展能力:?通過復(fù)制功能可以將MySQL的性能壓力分擔(dān)到一個(gè)或多個(gè)slave上。這要求所有的寫操作和修改操作都必須在Master上完成,而讀操作可以被分配到一個(gè)或多個(gè)slave上。將讀寫分離到不同服務(wù)器執(zhí)行之后,MySQL的讀寫性能得到提升。

數(shù)據(jù)庫(kù)備份:由于從實(shí)例是同步主實(shí)例的數(shù)據(jù),所以可以將備份作業(yè)部署到從庫(kù)。

數(shù)據(jù)分析和報(bào)表:同樣,一些數(shù)據(jù)分析和報(bào)表的實(shí)現(xiàn)可以在從實(shí)例執(zhí)行,以減少對(duì)主庫(kù)的性能影響。

容災(zāi)能力:可以在物理距離較遠(yuǎn)的另一個(gè)數(shù)據(jù)中心建立一個(gè)slave,保證在主實(shí)例所在地區(qū)遭遇災(zāi)難時(shí),在另一個(gè)數(shù)據(jù)中心能快速恢復(fù)。


MySQL復(fù)制有兩種方法:

傳統(tǒng)方式:基于主庫(kù)的bin-log將日志事件和事件位置復(fù)制到從庫(kù),從庫(kù)再加以應(yīng)用來達(dá)到主從同步的目的

GTID方式:global transaction identifiers是基于事務(wù)來復(fù)制數(shù)據(jù),因此也就不依賴日志文件,同時(shí)又能更好的保證主從庫(kù)數(shù)據(jù)一致性


MySQL復(fù)制有多種類型:

異步復(fù)制:一個(gè)主庫(kù),一個(gè)或多個(gè)從庫(kù),數(shù)據(jù)異步同步到從庫(kù)

同步復(fù)制:在MySQL Cluster中特有的復(fù)制方式

半同步復(fù)制:在異步復(fù)制的基礎(chǔ)上,確保任何一個(gè)主庫(kù)上的事務(wù)在提交之前至少有一個(gè)從庫(kù)已經(jīng)收到該事務(wù)并日志記錄下來

延遲復(fù)制:在異步復(fù)制的基礎(chǔ)上,人為設(shè)定主庫(kù)和從庫(kù)的數(shù)據(jù)同步延遲時(shí)間,即保證數(shù)據(jù)延遲至少是這個(gè)參數(shù)


復(fù)制的工作原理是數(shù)據(jù)庫(kù)修改事件記錄到bin log中并傳遞到slave,然后slave在本地還原的過程。而事件記錄到bin log的格式會(huì)有所不同。


MySQL復(fù)制有三種核心格式:

基于語(yǔ)句的復(fù)制(statement based replication):基于主庫(kù)將SQL語(yǔ)句寫入到 bin log中完成復(fù)制

基于行數(shù)據(jù)的復(fù)制(row based replication):基于主庫(kù)將每一個(gè)行數(shù)據(jù)變化的信息作為事件寫入到bin log中完成日志

混合復(fù)制(mixed based replication):上述兩者的結(jié)合。默認(rèn)情況下優(yōu)先使用基于語(yǔ)句的復(fù)制,只有當(dāng)部分語(yǔ)句如果基于語(yǔ)句復(fù)制不安全的情況下才會(huì)自動(dòng)切換為基于行數(shù)據(jù)的復(fù)制



參考

MySQL 5.7 主從復(fù)制

https://www.cnblogs.com/backz/p/15426071.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容