mysql複製

複製原理:

 總體來說 複製有3個步驟:

1. 主數據庫服務器把更改的數據記錄到本地的二進制日誌文件中(二進制事件日誌 Binary log Events)

在主服務器上記錄二進制日誌文件,在每個更新數據的事務完成之前,主服務器都會把數據更改記錄到二進制文件中。

2. 從服務器把主服務器的二進制日誌文件拷貝到自己的中繼日誌(Replay)中

從服務器把主服務器的二進制日誌拷貝到自己的硬盤上,進入“中繼日誌”過程。首先啓動一個工作線程(IO從線程),這個IO線程開啓了一個普通的客戶端連接,這個連接會從主服務器的日誌文件中讀取事件,從服務器不會輪循去主服務器讀取事件日誌,而是等待有新事件發生時主服務器發出的信號,IO線程把事件寫入到自己服務器的中繼日誌中。

3. 從服務器重放中繼日誌中事件,把更改寫入自己的服務器

SQL從線程處理了最後的過程,SQL線程讀取自己的中繼日誌,並且重放其中的事件,然後更新從服務器的數據。由於這個線程能跟上IO線程,中繼日誌通常都是在操作系統中緩存,所以中繼日誌的開銷很低。SQL線程更新數據的事件也可以寫入自己的二進制文件中。

 

複製拓撲:

1.主-從複製

2. 主-主複製

3. 有從服務器的主-主複製

4. 環

5. 金字塔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章