mysql 集群与主从_Mysql集群和主从
1、Mysql cluster: share-nothing,分布式節(jié)點架構(gòu)的存儲方案,以便于提供容錯性和高性能。
需要用到mysql cluster安裝包,在集群中的每一個機器上安裝。
有三個關(guān)鍵概念:Sql節(jié)點(多個),數(shù)據(jù)節(jié)點(多個),管理節(jié)點(一個),數(shù)據(jù)節(jié)點之間采用的是同步復(fù)制來保證各節(jié)點之間的數(shù)據(jù)一致性。
同步復(fù)制:
a) Master執(zhí)行提交語句時,事務(wù)被發(fā)送到slave,slave開始準備事務(wù)的提交。
b) 每個slave都要準備事務(wù),然后向master發(fā)送OK(或ABORT)消息,表明事務(wù)已經(jīng)準備好(或者無法準備該事務(wù))。
c) Master等待所有Slave發(fā)送OK或ABORT消息,如果Master收到所有 Slave的OK消息,它就會向所有Slave發(fā)送提交消息,告訴Slave提交該事務(wù);如果 Master收到來自任何一個Slave的ABORT消息,它就向所有 Slave發(fā)送ABORT消息,告訴Slave去中止事務(wù)。
e) 每個Slave等待來自Master的OK或ABORT消息。如果Slave收到提交請求,它們就會提交事務(wù),并向Master發(fā)送事務(wù)已提交 的確認;如果Slave收到取消請求,它們就會撤銷所有改變并釋放所占有的資源,從而中止事務(wù),然后向Masterv送事務(wù)已中止的確認。
f) Master收到來自所有Slave的確認后,就會報告該事務(wù)被提交(或中止),然后繼續(xù)進行下一個事務(wù)處理。
由于同步復(fù)制一共需要4次消息傳遞,故mysql cluster的數(shù)據(jù)更新速度比單機mysql要慢。所以mysql cluster要求運行在千兆以上的局域網(wǎng)內(nèi),節(jié)點可以采用雙網(wǎng)卡,節(jié)點組之間采用直連方式。
2、主從(Master-Slave): 主從機器上安裝mysql community(普通版)就可以。
主從之間是通過mysql的replication來保證數(shù)據(jù)的一致性。相對mysql cluster的數(shù)據(jù)同步方式來講是異步的。
Replication:主節(jié)點要開啟binlog,設(shè)置一個唯一的服務(wù)器id(局域網(wǎng)內(nèi)唯一);從節(jié)點設(shè)置服務(wù)器id,binlog記錄了master上的所有操作,會被復(fù)制到從節(jié)點的relaylog并在從節(jié)點上回放。
總結(jié)
以上是生活随笔為你收集整理的mysql 集群与主从_Mysql集群和主从的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tesseract4.0.0 中文语言包
- 下一篇: 机器人的自述作文_机器人的自述作文600