解決MySQL 複製中不匹配的資料庫
在MySQL 複製領域,維護主從伺服器之間的資料完整性至關重要。然而,網路中斷等情況可能會破壞這種微妙的平衡,導致資料庫出現差異。本指南提供了從頭開始重新同步主資料庫和從資料庫的詳細流程,確保再次無縫複製。
過程:
在主服務器:
-
重置master狀態:使用RESET MASTER;清除master的複製資訊。
-
鎖定讀取操作:執行FLUSH TABLES WITH READ LOCK;防止轉儲時資料變更。
-
顯示主狀態:執行 SHOW MASTER STATUS;並記錄結果的數值。
產生主轉儲:
- 使用mysqldump -u root -p 建立完整資料庫轉儲- -所有資料庫> /a/path /mysqldump.sql.
解鎖讀取操作:
- 執行UNLOCK TABLES;釋放讀取鎖。
將轉儲檔案複製到從伺服器:
- 使用scp 或任何適當的檔案將轉儲檔案傳送到從伺服器
在從伺服器上:
-
停止從複製:運行STOP SLAVE;停止複製過程。
-
載入主資料:使用 mysql -uroot -p
mysqldump.sql 用主伺服器的資料填入從伺服器。 -
重設與同步日誌:
- 執行 RESET SLAVE;清除從站的複製設定。
- 將 MASTER_LOG_FILE 和 MASTER_LOG_POS 替換為您從主站的 SHOW MASTER STATUS 記錄的值;輸出。使用CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;.
-
啟動從複製執行:START SLAVE;流。
驗證:
- 使用 SHOW SLAVE STATUS 檢查複製狀態;。
- 預期輸出:Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes,表示同步成功。
以上是如何在 MySQL 複製中重新同步不符的資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!