pt-table-checksum工具應用
1.認真看錯誤提示,弄不清楚狀況的時候開啟debugPTDEBUG=1
2.10.10.10.10為主,其它ip為從
3.h=10.10.10.10,u=checksums,p=checksums 中間一定不能有空格,不然會報錯,本人排查這個錯誤花了很長時間
一:sakila庫的film_actor表的資料檢測與同步
1,在主庫和從庫上面新增使用者:
GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'checksums'@'10.10.10.10' IDENTIFIED BY 'checksums';
2.檢測sakila庫的film_actor表的資料主從是否一致
PTDEBUG=1 pt-table-checksum --no-check-binlog-format --no-check-replication-filters --recursion-method=processlist --replicate=test.checksums --databases=sakila --tables=film_actor -h 10.10.10.10 -P8888 -u checksums -p checksums
3,根據checksum的結果恢復所有從庫的film_actor資料
PTDEBUG=1 pt-table-sync --replicate=test.checksums --recursion-method=processlist --database=sakila --tables=film_actor h=10.10.10.10,P=8888,u=checksums,p=checksums --print --execute
------------------------------------------------------------------------------------------------------------------------------
二:檢測tmp庫資料是否一致
pt-table-checksum --no-check-binlog-format --no-check-replication-filters --recursion-method=processlist --replicate=test.checksums --databases=tmp -h 10.10.10.10 -P8888 -u checksums -p checksums
1,根據checksum的結果恢復所有從庫的資料
PTDEBUG=1 pt-table-sync --replicate=test.checksums --recursion-method=processlist --no-check-triggers --no-check-child-tables --no-foreign-key-checks h=10.10.10.10,P=8888,u=checksums,p=checksums --print --execute
(有外來鍵約束要加引數 --no-check-child-tables --no-foreign-key-checks,不然可能把子表所有的資料都刪除掉)
(--no-check-triggers,不檢測觸發器)
2,根據checksum的結果只恢復10.10.10.11的資料
pt-table-sync --print --execute --replicate=test.checksums --sync-to-master h=10.10.10.11,P=8888,u=checksums,p=checksums
3,恢復從庫192.168.6.91的資料(這個從庫所有的資料都和主保持一致,除了系統表和checksums表)
pt-table-sync --execute --print --sync-to-master h=192.168.6.91,P=8888,u=checksums,p=checksums
----------------------------------------------------------------------------------------------------------------------------
執行完pt-table-sync後可再執行一次pt-table-checksum檢測主從資料是否一致,可以執行下面的sql語句,如果結果為空則說明主從資料一致
select * from test.checksums where master_cnt <>this_cnt OR master_crc<>this_crc OR ISNULL(master_crc)<>ISNULL(this_crc);
http://blog.itpub.net/28939273/viewspace-1993010/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29620572/viewspace-1984556/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Percona-Tookit工具包之pt-table-checksum
- pt-table-checksum 使用實踐
- pt-table-checksum原理詳解
- 應用程式快速清除工具
- Mac將應用拖入Finder工具欄Mac
- Web應用掃描工具WapitiWebAPI
- 應用服務攻擊工具clusterd
- Web應用安全審計工具WATOBOWeb
- rsync資料同步工具應用指南
- Web應用漏洞評估工具ParosWebROS
- 小型Web應用掃描工具GrabberWeb
- Python 應用剖析工具介紹Python
- ORACLE 的載入工具SQLLDR應用OracleSQL
- 安裝用於 Windows 應用開發的工具Windows
- 報表工具都有哪些應用部署方式?
- mac系統應用快速啟動工具Mac
- PWA 應用列表及常用工具
- Mac快速退出應用程式工具:Quit AllMacUI
- TrendForce:生成AI的主流工具和應用AI
- Facebook暫停中國工具類應用廣告
- Mac應用程式、軟體、工具倉庫Mac
- Web應用程式資訊收集工具wigWeb
- Yeoman:Web 應用開發流程與工具Web
- Web應用主動偵測工具SkipfishWeb
- Web應用掃描測試工具VegaWeb
- .NET應用程式除錯—原理、工具、方法除錯
- .NET 3.0 WPF工具及應用—— CIDERIDE
- 專案中測試工具的應用
- .NET應用程式除錯:原理、工具、方法除錯
- 分享:使用 Capistrano —— Rails應用快速部署工具APIAI
- pt-table-checksum進行主從資料校驗
- pt-table-checksum與pt-table-sync使用實踐
- Laravel Telescope:優雅的應用除錯工具Laravel除錯
- 靜態應用程式安全測試 (SAST) 工具AST
- 應用程式切換工具:rcmd–App Switcher for MacAPPMac
- Word工具欄也能啟動應用程式
- Capsule:開源的 JVM 應用部署工具JVM
- Windows phone應用開發[15]-輔助工具Windows