1.檢查和安裝與Perl相關的模塊
PT工具是使用Perl語言編寫和執行的,所以需要系統中有Perl環境。
依賴包檢查命令為:
rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
如果有依賴包確實,可以使用下面的命令安裝:
yum install perl-DBI
yum install perl-DBD-MySQL
yum install perl-Time-HiRes
yum install perl-IO-Socket-SSL
wget http://pkgs.repoforge.org/perl-TermReadKey/perl-TermReadKey-2.30-1.el3.rf.x86_64.rpm rpm -ivh perl-TermReadKey-2.30-1.el3.rf.x86_64.rpm wget https://www.percona.com/downloads/percona-toolkit/2.2.14/RPM/percona-toolkit-2.2.14-1.noarch.rpm rpm -ivh percona-toolkit-2.2.14-1.noarch.rpm
如果不能下載: 直接進入頁面下載rpm包:
1,https://centos.pkgs.org/ 搜索: perl-TermReadKey 下載
2,https://www.percona.com/downloads/ 進入下載頁面下載
注意:需要安裝Term::ReadKey 包,否則會報perl(Term::ReadKey) is needed by percona-toolkit-2.2.14-1.noarch
2:下載和安裝percona toolkit的包
http://pkgs.repoforge.org/perl-TermReadKey/(key)
https://www.percona.com/downloads/percona-toolkit/ (tool)
安裝后,可以通過下面的命令確認是否安裝成功:
# 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 命令查詢相關命令詳細信息。
目前使用的比較多的命令是: pt-query-digest ,pt-kill等命令。
加字段例子:
pt-online-schema-change --alter "add column attribute3 varchar(100)" h=192.168.1.142,P=3306,p=cc.123,u=root,D=orabenlai,t=oraesb --no-check-replication-filters --execute
說明: 1, 如果有 binlog_ignore_db = mysql 選型會報check-replication-filters 錯誤,必須加上 --no-check-replication-filters
2,--execute 前面是有2個"-"
3,加多個字段可以使用: "add column attribute1 varchar(100),add column attribute2 varchar(100)"