1. 程式人生 > >percona-toolkit工具包的安裝及詳解

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的包,具體可檢視官網下載地址:

https://www.percona.com/downloads/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