percona-toolkit工具包的安裝及詳解
1、安裝與Perl相關的模組
PT工具是使用Perl語言編寫和執行的,所以需要系統中有Perl環境
# yum install -y perl perl-devel perl-Time-HiRes perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL perl-TermReadKey perl-Digest-MD5
如果缺少相應的包會有相應的報錯提示,例如:
perl(Digest::MD5) is needed by percona-toolkit-2.2.19-1.noarch
2、下載和安裝percona toolkit的包,具體可檢視官網下載地址:
# wget http://www.percona.com/get/percona-toolkit.rpm (預設下載安裝的是最新版本)
# rpm -ivh percona-toolkit.rpm
安裝後,可以通過下面的命令確認是否安裝成功:
# pt-query-digest --help
# pt-table-checksum --help
如果命令提示可以正常顯示,則說明pt工具已經正常安裝和使用了。
有的32個命令,可以分為7大類:
工具類別 |
工具命令 |
工具作用 |
備註 |
開發類 |
pt-duplicate-key-checker |
列出並刪除重複的索引和外來鍵 |
|
pt-online-schema-change |
線上修改表結構 |
||
pt-query-advisor |
分析查詢語句,並給出建議,有bug |
已廢棄 |
|
pt-show-grants |
規範化和列印許可權 |
||
pt-upgrade |
在多個伺服器上執行查詢,並比較不同 |
||
效能類 |
pt-index-usage |
分析日誌中索引使用情況,並出報告 |
|
pt-pmp |
為查詢結果跟蹤,並彙總跟蹤結果 |
||
pt-visual-explain |
格式化執行計劃 |
||
pt-table-usage |
分析日誌中查詢並分析表使用情況 |
pt 2.2新增命令 |
|
配置類 |
pt-config-diff |
比較配置檔案和引數 |
|
pt-mysql-summary |
對mysql配置和status進行彙總 |
||
pt-variable-advisor |
分析引數,並提出建議 |
||
監控類 |
pt-deadlock-logger |
提取和記錄mysql死鎖資訊 |
|
pt-fk-error-logger |
提取和記錄外來鍵資訊 |
||
pt-mext |
並行檢視status樣本資訊 |
||
pt-query-digest |
分析查詢日誌,併產生報告 |
常用命令 |
|
pt-trend |
按照時間段讀取slow日誌資訊 |
已廢棄 |
|
複製類 |
pt-heartbeat |
監控mysql複製延遲 |
|
pt-slave-delay |
設定從落後主的時間 |
||
pt-slave-find |
查詢和列印所有mysql複製層級關係 |
||
pt-slave-restart |
監控salve錯誤,並嘗試重啟salve |
||
pt-table-checksum |
校驗主從複製一致性 |
||
pt-table-sync |
高效同步表資料 |
||
系統類 |
pt-diskstats |
檢視系統磁碟狀態 |
|
pt-fifo-split |
模擬切割檔案並輸出 |
||
pt-summary |
收集和顯示系統概況 |
||
pt-stalk |
出現問題時,收集診斷資料 |
||
pt-sift |
瀏覽由pt-stalk建立的檔案 |
pt 2.2新增命令 |
|
pt-ioprofile |
查詢程序IO並列印一個IO活動表 |
pt 2.2新增命令 |
|
實用類 |
pt-archiver |
將表資料歸檔到另一個表或檔案中 |
|
pt-find |
查詢表並執行命令 |
||
pt-kill |
Kill掉符合條件的sql |
常用命令 | |
pt-align |
對齊其他工具的輸出 |
pt 2.2新增命令 |
|
pt-fingerprint |
將查詢轉成密文 |
pt 2.2新增命令 |
上面是pt工具各個命令的基本功能介紹,可以使用 command --help 來檢視每個命令的具體作用和使用方法;
有的命令也可以使用 man command 命令查詢相關命令詳細資訊。
官網上也有比較詳細的教程:https://www.percona.com/doc/percona-toolkit
目前使用的比較多的命令是: pt-query-digest ,pt-kill等命令。
例子1:從慢查詢中的sql檢視索引使用情況範例
pt-index-usage /usr/local/mysql/data/mysqld-slow.log --host=localhost --user=root -p123.com