percona-toolkit安裝方法和主要工具用途彙總介紹

chenfeng發表於2019-04-16

安裝方法:

編輯/etc/yum.repos.d/Percona.repo,加入以下內容:

#vi /etc/yum.repos.d/Percona.repo

[percona]

name = CentOS $releasever - Percona

baseurl=

enabled = 1

gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-perconapt-query-digest

gpgcheck = 0


接下來就可以用yum進行安裝了

# yum -y install percona-toolkit


主要工具用途彙總:


  pt-upgrade 

該命令主要用於對比不同mysql版本下SQL執行的差異,通常用於升級前進行對比。

會生成SQL檔案或單獨的SQL語句在每個伺服器上執行的結果、錯誤和警告資訊等。 

  

  pt-online-schema-change

功能為支援線上變更表構,且不鎖定原表,不阻塞原表的DML操作。

    

  pt-summary

彙總伺服器的狀態和配置資訊,執行大量命令去檢查系統狀態和配置,儲存輸出到臨時目錄檔案,然後在這些結果上執行Unix命令來優雅地格式化。


  pt-mysql-summary

對mysql的配置和sataus資訊進行彙總,對連線的mysql伺服器生成一份詳細的配置情況和資訊。

    

  pt-mext

並行檢視SHOW GLOBAL STATUS的多個樣本的資訊。

pt-mext會執行你指定的COMMAND,並每次讀取一行結果,把空行分割的內容儲存到一個一個的臨時檔案中,最後結合這些臨時檔案並行檢視結果。

  

  pt-kill

Kill掉符合指定條件mysql語句


  pt-query-advisor

分析日誌記錄裡面的sql或者直接整條sql,並提出建議


  pt-show-grants

比較mysql許可權以及進行版本控制

  

  pt-ioprofile

pt-ioprofile的原理是對某個pid附加一個strace程式進行IO分析

    

  pt-fingerprint

用於生成查詢指紋。主要將將sql查詢生成queryID,pt-query-digest中的ID即是透過此工具來完成的。

類似於Oracle中的SQL_ID,涉及繫結變數,字面量等

  

  pt-find

用與查詢mysql表並執行指定的命令,類似於find命令

  

  pt-fifo-split

模擬切割檔案並透過管道傳遞給先入先出佇列而不用真正的切割檔案


  pt-fk-error-logger

將外來鍵相關的錯誤資訊記錄到日誌或表,透過SHOW INNODB STATUS提取和儲存mysql資料庫最近發生的外來鍵錯誤資訊。可以透過引數控制直接列印錯誤資訊或者將錯誤資訊儲存到資料庫的表中。


    

  pt-deadlock-logger

用於監控mysql伺服器上死鎖並輸出到日誌檔案,日誌包含發生死鎖的時間、死鎖執行緒id、死鎖的事務id、發生死鎖時事務執行時間等詳細資訊。收集和儲存mysql上最近的死鎖資訊,

可以直接列印死鎖資訊和儲存死鎖資訊到資料庫中,死鎖資訊包括髮生死鎖的伺服器、最近發生死鎖的時間、死鎖執行緒id、死鎖的事務id、發生死鎖時事務執行了多長時間等等非常多

的資訊,對於頻繁出現死鎖的情況,建議開一段時間來收集資訊。

  

  pt-archiver

將mysql資料庫中表的記錄歸檔到另外一個表或者檔案

該工具具只是歸檔舊的資料,對線上資料的OLTP查詢幾乎沒有影響。

可以將資料插入另外一臺伺服器的其他表中,也可以寫入到一個檔案中,方便使用load data infile命令匯入資料。

  

  pt-agent

基於Percona Cloud的一個客戶端代理工具

  

  pt-visual-explain

用於格式化explain的輸出

  

  pt-variable-advisor

用於分析mysql系統變數可能存在的一些問題,可以據此評估有關引數的設定正確與否。

  

  pt-stalk

用於收集mysql資料庫故障時的相關資訊便於後續診斷處理。

    

  pt-slave-delay

用於設定從伺服器落後於主伺服器的時間間隔。

該命令列透過啟動和停止複製sql執行緒來設定從落後於主指定時間。


  pt-sift

用於瀏覽pt-stalk生成的檔案。

    

  pt-show-grants

將當前例項的使用者許可權全部輸出,可以用於遷移資料庫過程中重建使用者。

    

  pt-query-digest

用於分析mysql伺服器的慢查詢日誌,並格式化輸出以便於檢視和分析。

  

  pt-pmp

為查詢程式執行聚合的GDB堆疊跟蹤,先進性堆疊跟蹤,然後將跟蹤資訊彙總。 

    

  pt-index-usage

從log檔案中讀取查詢語句,並用分析當前索引如何被使用。

完成分析之後會生成一份關於索引沒有被查詢使用過的報告,可以用於分析報告考慮剔除無用的索引。

    

  pt-heartbeat

用於監控mysql複製架構的延遲。

主要是透過在主庫上的--update執行緒持續更新指定表上的一個時間戳,從庫上--monitor執行緒或者--check執行緒檢查主庫更新的時間戳並與當前系統時間對比,得到延遲值。

  


  

  pt-duplicate-key-checker 

從mysql表中找出重複的索引和外來鍵,這個工具會將重複的索引和外來鍵都列出來


     

  pt-diskstats

類似於iostat,列印磁碟io統計資訊,但是這個工具是互動式並且比iostat更詳細。可以分析從遠端機器收集的資料。

  

  pt-config-diff

用於比較多臺伺服器上的mysql配置檔案和伺服器變數

至少2個配置源需要指定,可以用於遷移或升級前後配置檔案進行對比

    

  pt-align

這個工具用於對檔案格式進行格式化輸出

    

  pt-slave-find

連線mysql主伺服器並查詢其所有的從,然後列印出所有從伺服器的層級關係。


  pt-slave-restart

監視一個或者多個mysql複製錯誤,當從停止的時候嘗試重新啟動複製。

    

  pt-table-checksum

用於校驗mysql複製的一致性。

該工具主要是高效的查詢資料差異,如果存在差異性,可以透過pt-table-sync來解決。


  pt-table-sync

透過pt-table-checksum得到的資料,列出或直接執行修改複製的差異資料,使其重新同步。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2641551/,如需轉載,請註明出處,否則將追究法律責任。

相關文章