Mysql

測試 MySQL 數據庫複製/同步

  • August 27, 2012

我正在設置一個 MySQL 主數據庫,它複製到幾個從數據庫。

我的問題是監控和/或測試從屬數據庫是否最新的最佳實踐是什麼,並且當出現導致複製停止的錯誤時會提醒管理員。

我搜尋了監控工具,但找不到任何合適的工具。

此外,測試從屬設備之間同步的“最佳實踐”方法是什麼。有沒有類似數據庫複製的單元測試的東西?

如果我對此事的無知冒犯了任何人,我深表歉意。

複製的最大問題是檢查

  1. 節點都已啟動,
  2. 所有節點都在通信(不是腦裂)
  3. 和處理複製日誌
  4. 和複製滯後

可以在相關節點上使用 SHOW MASTER STATUS / SHOW SLAVE STATUS 擷取 1、3 和 4,儘管複製延遲只有 1 秒的準確度並且僅跨每一跳。Percona 工具包有用於獲得更準確的複制滯後的腳本。

使用多主複製(例如tungstenPercona)可以節省很多痛苦,但需要額外的努力/軟體來設置。

如果ndoes之間的網路出現故障,那麼所有程序都可以正常執行-但將無法傳輸數據-您需要對每個節點進行監控以檢查它是否可以聯繫上游節點。

一個 MySQL Master 數據庫,它複製到幾個 Slave 數據庫

最佳做法是將其中一個從屬伺服器也指定為主伺服器——雙向複製。這樣,您可以在發生中斷時輕鬆切換,或執行維護任務,例如重建索引、備份、模式更改。

根據從節點的數量,您可能還需要指定一個扇出節點來傳播更改。

在管理升級、調度腳本以收集數據等方面,有很多可用的工具可以做到這一點——我使用 nagios,很多其他人也是如此。

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