2012-07-25 50 views
0

我有2個5.0的MySQL服務器在Master-Master複製中運行並在刷新內存數據表示之前我想確保兩個數據庫都有完全相同的內容。要做到這一點我目前使用下面的邏輯如何確保複製已發生

  1. 確保Slave_IO_Running & Slave_SQL_Running設置爲yes在兩側

  2. 一方面問題show master status;檢索當前主文件和位置

  3. 在另一邊問題show slave status;檢索值Master_Log_File & Exec_Master_Log_Pos

  4. 然後我比較兩邊的值,如果第二邊值相等或更高,則返回複製已發生。

我知道背後的主領域秒可能是另一種方式來檢查http://dev.mysql.com/doc/refman/5.5/en/show-slave-status.html,但它說,在慢速網絡上可能並不準確。

我問的主要原因是因爲我看到的情況下,一個主人的位置可能是35000,在奴隸上它只有2000,並且沒有任何事情發生,就好像顯示從屬狀態的目錄一樣並沒有及時更新。

我開始設計一個涉及percona工具箱構思的校驗和的替代驗證方法。

任何想法和建議熱烈歡迎!

乾杯,

回答

0

而不是Seconds_Behind_Master我使用pt-heartbeat從Percona的工具包,以監視複製滯後。您可以使用該工具來確認您的輔助主服務器已經追上主要主服務器,但是如果您想比較兩個主服務器上的實際數據,我推薦使用pt-table-checksum