轉載:https://www.cnblogs.com/zishengY/p/6852280.html
一.檢查和安裝與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
二.下載下傳和安裝percona toolkit的包 1、下載下傳和安裝percona toolkit的包參照:https://www.percona.com/doc/percona-toolkit/3.0/installation.html#installing-percona-toolkit-on-red-hat-or-centos
yuminstallhttp://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
2、檢視可以安裝的包yumlist |greppercona-toolkit
3、安裝percona-toolkit工具包yuminstallpercona-toolkit
4、出現complete!即表示安裝成功: 5、安裝後,可以通過下面的指令确認是否安裝成功:# 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-killKill掉符合條件的sql常用指令
pt-align對齊其他工具的輸出pt 2.2新增指令
pt-fingerprint将查詢轉成密文pt 2.2新增指令
上面是pt工具各個指令的基本功能介紹,可以使用 command --help 來檢視每個指令的具體作用和使用方法;
有的指令也可以使用 man command 指令查詢相關指令詳細資訊。
目前使用的比較多的指令是: pt-query-digest ,pt-kill等指令。
加字段例子:
1/usr/local/bin/pt-online-schema-change --user=使用者名 --password=密碼 --host=127.0.0.1 --port=端口号 --charset=utf8 --nodrop-old-table --alter="modify media_code varchar(64) DEFAULT NULL COMMENT '目前視訊編碼' " D=ad_api,t=t_ad_req_log --exec
注意:若是安轉過程中,遇到yum指令不可用,請替換鏡像源,我這裡是替換成163的鏡像源:指令如下:
cd /etc/yum.repos.dmvCentOS-Base.repo CentOS-Base.repo.bk
llwget http://mirrors.163.com/.help/CentOS6-Base-163.repovi/etc/resolv.confwgethttp://mirrors.163.com/.help/CentOS6-Base-163.repoyummakecache
每一個你不滿意的當下,都有一個你不曾努力的過去