首頁  >  文章  >  資料庫  >  如何在 MySQL 複製中重新同步不符的資料庫?

如何在 MySQL 複製中重新同步不符的資料庫?

Barbara Streisand
Barbara Streisand原創
2024-11-05 06:05:02324瀏覽

How to Resync Mismatched Databases in MySQL Replication?

解決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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn