天天看點

Chapter 17 Replication

Chapter 17 Replication

Table of Contents     

17.1 Replication Configuration     
17.2 Replication Implementation     
17.3 Replication Solutions     
17.4 Replication Notes and Tips     


複制讓資料從一個MySQL 資料庫伺服器(master) 被複制到一個或者多個MySQL database servers(slaves).


複制預設是異步的,是以slaves 不需要被永久連結來結果更新從master.


這意味着 更新可以發生通過遠距離的連結和甚至通過臨時或者間接連結 比如撥号服務,


以來配置, 你可以複制所有的資料庫,選擇的資料庫,甚至資料庫裡選擇的表。


複制的優點 包括:

1.擴充解決方案-- 分散負載到多個slaves 來改善性能。在這種環境下,

所有的鞋和更新必須發生在master server上。

讀,然而, 可以發生在一個或者多個slaves上。

這種模式可以改改善寫的性能(因為master 是專注于updates),進而顯著增加讀速度随着越來越多的slaves


2.資料安全性,因為資料是複制到slaves, slave可以暫停複制過程,

是可以運作備份服務在lsave上 不需要影響master 資料


3.分析-- 現場資料可以被建立在master上,資訊的分析可以在slave上進行 不會影響master的性能

4.遠距離資料分發, 如果一個分支辦公需要用一份主資料的副本進行工作,

你可以使用複制來建立一個邏輯的資料拷貝

複制在MySQL 功能支援單向, 異步複制, 其中一個伺服器作為Master,同時其他一個或者多個作為slaves.


複制在MySQL 功能支援 單向,異步複制,一個伺服器表現為master,其他一個或者多個作為slaves.


與之形成鮮明對比的是 同步複制 是MYSQL叢集的新特性.


在MySQL 5.6,一個接口到半同步複制是支援的内置于異步複制

在半同步下,一個送出被執行在master上堵塞在傳回到一個session 執行事務知道至少一個slave 确認它已經收到和記錄了事務的資訊

MySQL 5.6  也支援延遲複制 這樣一個slave server 故意延遲落後master 至少一定的時間


有大量的可用的解決方案用于設定複制在2個servers之間, 但是最好的方式是取決于面前的資料和你使用的存儲引擎




有兩種核心的複制格式,基于語句的(SBR) ,複制整個SQL語句,

和基于行的複制(RBR), 隻複制改變的記錄。

你也可以使用第三種,混合模式(MBR).