1.pt-table-checksum 用於檢測主從的資料是否一致。
常用引數:
1.--nocheck-replication-filters :不檢查複製過濾器,建議啟用。後面可以用--databases來指定需要檢查的資料庫。
2.--no-check-binlog-format : 不檢查複製的binlog模式,要是binlog模式是row,則會報錯。
3.--replicate-check-only :只顯示不同步的資訊。
4.--replicate= :把checksum的資訊寫入到指定表中,建議直接寫到被檢查的資料庫當中。
5.--databases= :指定需要被檢查的資料庫,多個則用逗號隔開。
6.--tables= :指定需要被檢查的表,多個用逗號隔開,如果是全庫檢測的時候可以去掉此引數
7.h=127.0.0.1 :master的位址
8.u=root :使用者名稱
9.p=123456:密碼
10.p=3306 :埠
執行命令
pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=xx.checksums --create-replicate-table --databases=xx --tables=*** -h 192.168.255.138 -p 3306 -u root -p repl --recursion-method="processlist"
執行結果如下下圖:
當diffs不為0時表示表t1_1中的主從資料不同步。
執行結果顯示引數意義:
ts :完成檢查的時間。
errors :檢查時候發生錯誤和警告的數量。
diffs :0表示一致,大於0表示不致。當指定--no-replicate-check時,會一直為0,當指定--replicate-check-only會顯示不同的資訊。
rows :表的行數。
chunks :被劃分到表中的塊的數目。
skipped :由於錯誤或警告或過大,則跳過塊的數目。
time :執行的時間。
table :被檢查的表名。
2.pt-table-sync 高效的同步mysql表之間的資料,他可以做單向和雙向同步的表資料。他可以同步單個表,也可以同步整個庫。它不同步表結構、索引、或任何其他模式物件。所以在修復一致性之前需要保證他們表存在。
常用引數:
1.--replicate= :指定通過pt-table-checksum得到的表,這2個工具差不多都會一直用。
2.--databases= : 指定執行同步的資料庫,多個用逗號隔開。
3.--tables= :指定執行同步的表,多個用逗號隔開。如果是全庫執行不需要此引數
4.--charset= 指定字符集
5.--print :列印,但不執行命令。
6.--execute :執行命令。
7.h=127.0.0.1 :master的位址
8.u=root :使用者名稱
9.p=123456:密碼
10.p=3306 埠號
執行命令:
1.pt-table-sync --replicate=wubx.checksums --databases=wubx --charset=utf8 h=192.168.11.81,u=root,p=repl --print(只是檢視不同的資料)
執行結果如下圖:
2.pt-table-sync --replicate=t1.checksums --databases=t1 --charset=utf8 h=192.168.255.138,u=root,p=repl –-execute(執行之後就會資料同步)
3.pt-query-digest 是用於分析
mysql
慢查詢的乙個工具,它可以分析
binlog
、general log
、slowlog
,也可以通過
showprocesslist
或者通過tcpdump抓取的mysql協議資料來進行分析。可以把分析結果輸出到檔案中,分析過程是先對查詢語句的條件進行引數化,然後對引數化以後的查詢進行分組統計,統計出各查詢的執行時間、次數、佔比等,可以借助分析結果找出問題進行優化。
常用引數:
1.--create-review-table 當使用--review引數把分析結果輸出到表中時,如果沒有表就自動建立。
2.--create-history-table 當使用--history引數把分析結果輸出到表中時,如果沒有表就自動建立。
3.--filter 對輸入的慢查詢按指定的字串進行匹配過濾後再進行分析
4.--limit限制輸出結果百分比或數量,預設值是20,即將最慢的20條語句輸出,如果是50%則按總響應時間佔比從大到小排序,輸出到總和達到50%位置截止。
5.--host mysql伺服器位址
6.--user mysql使用者名稱
7.--password mysql使用者密碼
8.--history 將分析結果儲存到表中,分析結果比較詳細,下次再使用-history時,如果存在相同的語句,且查詢所在的時間區間和歷史表中的不同,則會記錄到資料表中,可以通過查詢同一checksum來比較某型別查詢的歷史變化。
9.--review 將分析結果儲存到表中,這個分析只是對查詢條件進行引數化,乙個型別的查詢一條記錄,比較簡單。當下次使用--review時,如果存在相同的語句分析,就不會記錄到資料表中。
10.--output 分析結果輸出型別,值可以是report(標準分析報告)、slowlog(mysql slow log)、json、json-anon,一般使用report,以便於閱讀。
11.--since 從什麼時間開始分析,值為字串,可以是指定的某個」yyyy-mm-dd [hh:mm:ss]」格式的時間點,也可以是簡單的乙個時間值:s(秒)、h(小時)、m(分鐘)、d(天),如12h就表示從12小時前開始統計。
12.--until 截止時間,配合—since可以分析一段時間內的慢查詢。
執行命令:
1.pt-query-digest /data/mysql/mysql_3306/logbin.000062 > /data/mysql/mysql_3306/logbin.000062.report.log
2.cat /data/mysql/mysql_3306/logbin.000062
3.如下圖(這張截圖裡沒有慢查詢日誌)
percona toolkit工具的安裝
percona toolkit 是一組高階的命令列工具,用來管理 mysql 和系統任務,主要包括 1 驗證主節點和複製資料的一致性 2 有效的對記錄行進行歸檔 3 找出重複的索引 4 總結 mysql 伺服器 5 從日誌和 tcpdump 中分析查詢 6 問題發生時收集重要的系統資訊 安裝環境 c...
percona toolkit 安裝與使用
title percona toolkit 安裝與使用 tags percona toolkit是mysql dba 最常用的元件,包含了非常多的工具包 上述的許多指令比如主從check不一致 死鎖檢測 索引重複檢測等 慢sql統計等等都是十分實用的功能 複製 安裝perlyum y install...
percona toolkit工具包的安裝和使用
參考 centos7下安裝percona toolkit工具包的安裝 docker pull perconalab percona toolkit docker run it perconalab percona toolkit usr bin pt online schema change hos...