percona toolkit 更新至一致性檢查
阿新 • • 發佈:2018-11-19
percona toolkit 安裝
依賴 yum install per-DBD-MySQL perl-DBD-MySQL perl-IO-Socket-SSL perl-Time-HiRes perl-TermReadKey 下載安裝 https://www.percona.com/downloads/percona-toolkit/LATEST/ 選擇版本 作業系統 安裝軟體(主庫,最好主從都安裝) rpm -ivh percona-toolkit-3.0.12-1.el6.x86_64.rpm許可權(主庫從庫)
1、一致性檢查工具 pt-table-checksum pt-table-sync
1.1 問題
主從replication
一個比較容易遇到的錯誤
show slave status Duplicate entry '2' for key 'PRIMARY', Error_code: 1062
常用處理方法
檢查/刪除從庫冗餘資料,重新由replication操作。
或者確認從庫資料與主庫一致,直接set global sql_slave_skip_counter=1 並重啟stop slave;start slave (skip並不檢查一致性,只考慮rely log是否未報錯 )
由於過多skip人為因素、statement複製模式帶來的語句操作差異,等,資料庫主從可能處於不一致狀態
1.2 問題復現
測試 從庫新增2 主庫新增2和3由於操作不嚴謹,導致主從資料不一致。此時slave狀態是正常的。
1.3 一致性檢查工具pt-table-checksum
在主庫上檢查 可以不加--databases --tables項全表掃描 pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=percona.checksum --create-replicate-table --databases=test --tables=t1 h=10.27.X.X,u=check,p=XXXXXXXXX,P=3306當slave異常時
當主從資料不一致時
1.4 修復工具pt-table-sync
僅檢查庫表資料,不檢查結構、索引等 在主庫上執行 pt-table-sync --replicate=percona.checksum h=主庫ip,u=check,p=xxx h=從庫ip,u=check,p=XXXX--print 提示操作方法
或者直接--exec 自動修復
原測試用不一致的 2 2 變成2 222
2 slowlog 工具pt-query-digest
./pt-query-digest slow.log >digest.log如分析最近12小時內的查詢: pt-query-digest --since=12h slow.log > slow_report2.log
另另可加上各種引數輔助
3資訊檢查 pt-mysql-summary