- 論壇徽章:
- 0
|
Mysql校驗主從表同步方案
---記錄稿
由于最近發(fā)生幾例Mysql從庫同步中斷的故障,經(jīng)調(diào)查均是由于從庫有多余記錄,導(dǎo)致根據(jù)從庫在插入記錄時卡在' 'Duplicate entry' 這里.
從庫為什么沒有刪除以前的記錄目前還不得而知,為了搞清楚和解決這個問題,打算周期性的校驗/比較兩個庫的內(nèi)容. 要實現(xiàn)這個目的有幾個選擇:
1.MaatKit mysql-table-checksum
安裝比較簡單,使用epel軟件倉庫 ,可以直接用在線rpm安裝 ,
經(jīng)過測試,命令的執(zhí)行效率隨表的大小增加直線下降,計算校驗和時程序加一個表級鎖,會影響正常業(yè)務(wù),這種方式還得再想想 .
2.google-mysql-tool OnlineDataDrift
由于該項目需要特定版本的mysql然后打上patch才能使用,故沒有做測試.
3.手動執(zhí)行CHECK TABLE tablename;
分別在主庫和從庫同一檢查點位置執(zhí)行 CHECK TABLE 命令就可以查出當(dāng)前表的校驗值 .
該命令的執(zhí)行時間較mysql-table-checksum程序的執(zhí)行時間差不多:
check-table-checksum程序 計算300w行記錄需要4.9sec
mysql CHECK TABLE指令 計算300w行記錄需要4.8sec
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u2/80782/showart_2185360.html |
|