Percona Toolkit命令使用集合 一

2021-06-26 23:01:38 字數 3527 閱讀 1939

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...