2016-12-18 64 views
1

我有一個圓形木裏主MySQL的設置如下多主MySQL複製位置

    DB1 ------> DB2 ------> DB3 -- 
        |       | 
        ------------<--------------- 

我初始化的複製對相同的數據和相同的主位置索引的3臺DB服務器上,如果該位置索引成爲非這意味着3個數據庫之後會不一致,因爲一次只能寫入一個主數據庫?

回答

1

二進制日誌座標與具有一致數據的實例無關。

您可以在DB1上編寫二進制日誌數週,然後進行備份並使用它來初始化DB2。然後稍後再進行DB2備份並使用它來初始化DB3。之後,所有三臺服務器將具有相同的數據,但二進制日誌文件和索引完全不同。

您可以改爲使用Global Transaction IDs(不是二進制日誌座標)來管理複製。

無論如何,無論您如何管理複製,數據都會出現不同步的風險。您可以運行包含non-deterministic expressions的查詢。你可以turn off binary logging temporarily。或者日誌在轉移到副本時可能會損壞。

如果要測試數據是否一致,請使用pt-table-checksum

+0

謝謝,真的很豐富 –