percona-toolkit是一組進階指令行工具的集合,可以檢視目前服務的摘要資訊,磁盤檢測,分析慢查詢日志,查找重複索引,實作表同步等等。percona-toolkit源自Maatkit 和Aspersa工具,但Maatkit已經不維護了,全部歸并到percona-toolkit。PT工具是使用Perl語言編寫和執行的,是以需要系統中有Perl環境。環境配置就不再介紹了,下面開始安裝配置。
安裝步驟
- 安裝之前,需要做一些前提準備。經過好多個坑之後,彙總的簡單有效的方式如下:
2. 擷取安裝包,解壓
[root@ZhOu local]# wget https://www.percona.com/downloads/percona-toolkit/3.0.2/binary/tarball/percona-toolkit-3.0.2_x86_64.tar.gz
[root@ZhOu local]# tar -zxf percona-toolkit-3.0.2_x86_64.tar.gz
3. 編譯安裝
[root@ZhOu local]# cd percona-toolkit-3.0.2
[root@ZhOu percona-toolkit-.]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for percona-toolkit
[root@ZhOu percona-toolkit-.]# make && make install
安裝後,可以通過下面的指令确認是否安裝成功:
pt-query-digest - -help
pt-table-checksum - -help
如果指令提示可以正常顯示,則說明pt工具已經正常安裝和使用了。
工具分類
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新增指令 |
後面會分别講解各個指令的操作,今天就先到這裡了。