Mysql

Mysql主從複製數據庫重複問題

  • May 18, 2018

我已經完成了用於執行 Web 伺服器鏡像的主從複製。Web 內容正在正確複製。但是我在數據庫複製方面面臨問題。數據庫被複製,從屬也可以讀取主日誌位置。我看過各種部落格並將跳過錯誤視為一種解決方案,但這對我們的環境不利,因為它失去了數據庫的一致性。我嘗試通過在從數據庫 my.cnf 中使用 read-only=1 使從屬只讀,但它沒有用。我只是想知道即使在進行新複製之後,數據庫表數據是如何被複製的。

錯誤:

Last_Error:查詢時出現鍵“PRIMARY”的錯誤“重複條目“155251”。預設數據庫:……

此消息意味著您嘗試插入的條目已經存在於從站上。

首先,查看主日誌文件是否存在錯誤。如果是這種情況,則問題不在複製級別。

因此,如果主伺服器上不存在錯誤,您應該重複轉儲/恢復週期。

為確保一致性,您需要在轉儲整個數據庫時停止在 master 上寫入 ( SET GLOBAL read_only = 1 ; )。轉儲完成後,您可以禁用 read_only。確保包含–single-transaction –add-drop-database –master-data作為 mysqldump 的選項。

–add-drop-database :在恢復之前在從站上刪除數據庫。因此,沒有任何東西可以破壞一致性

–master-data :包括主文件和主位置。無需手動插入

不要忘記*START SLAVE;*在從屬設備上的恢復部分完成後!

希望這會有所幫助;)

引用自:https://serverfault.com/questions/912779