percona-toolkit的安裝及簡介

來源:互聯網
上載者:User

percona-toolkit的安裝及簡介

MySQL資料庫是輕量級、開來源資料庫的佼佼者,其功能和管理,健壯性與Oracle相比還是有相當的差距。因此有很多功能強大第三方的衍生產品,如percona-toolkit,XtraBackup等等。percona-toolkit是一組進階命令列工具的集合,可以查看當前服務的摘要資訊,磁碟檢測,分析慢查詢日誌,尋找重複索引,實現表同步等等。這個工具套件對DBA及營運人員著實不可多得。本文簡要描述這個工具的安裝及其工具的大致介紹。

1、percona-toolkit的主要功能
  Verify MySQL replication integrity by checking master and replica data consistency
  Efficiently archive rows
  Find duplicate indexes
  Summarize MySQL servers
  Analyze queries from logs and tcpdump
  Collect vital system information when problems occur 

2、安裝需求及步驟
  下載連結:http://www.percona.com/software/percona-toolkit
  需求
    * Perl v5.8 or newer
    * Bash v3 or newer
    * Core Perl modules like Time::HiRes
   
    # perl --version |head -2 #檢查perl版本
    # bash --version          #檢查bash版本

  快速安裝步驟(預設/usr/local/bin路徑下,過程略)
    # tar zxvf percona-toolkit-<version>.tar.gz
    # cd percona-toolkit-<version>
    # perl Makefile.PL  (安裝到非預設目錄 perl Makefile.PL PREFIX=${HOME})
    # make
    # make test
    # make install

 

3、主要工具介紹
  如果是非源碼安裝或源碼安裝是未指定路徑,預設情況下所有的pt相關的工具位於/usr/bin目錄下,以pt-開頭。
  擷取有關命令列的協助資訊,直接在shell提示符下輸入命令列與--hlep即可。如: /usr/bin/pt-upgrade --help
  # ls -hltr /usr/bin/pt-*
  pt-upgrade
    #該命令主要用於對比不同mysql版本下SQL執行的差異,通常用於升級前進行對比。
    #會產生SQL檔案或單獨的SQL語句在每個伺服器上執行的結果、錯誤和警告資訊等。
 
  pt-online-schema-change
    #功能為支援線上變更表構,且不鎖定原表,不阻塞原表的DML操作。
    #該特性與Oracle的dbms_redefinition線上重定義表原理基本類似。
   
  pt-mysql-summary
    #對串連的mysql伺服器產生一份詳細的配置情況以及sataus資訊
    #在尾部也提供當前執行個體的的設定檔的資訊
   
  pt-mext
    #並行查看SHOW GLOBAL STATUS的多個樣本的資訊。
    #pt-mext會執行你指定的COMMAND,並每次讀取一行結果,把空行分割的內容儲存到一個一個的臨時檔案中,最後結合這些臨時檔案並行查看結果。
 
  pt-kill
    #Kill掉符合指定條件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-deadlock-logger
    #用於監控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-fk-error-logger
    #將外鍵相關的錯誤資訊記錄到日誌或表。
 
  pt-duplicate-key-checker
    #功能為從mysql表中找出重複的索引和外鍵,這個工具會將重複的索引和外鍵都列出來
    #同時也可以產生相應的drop index的語句
   
  pt-diskstats
    #類似於iostat,列印磁碟io統計資訊,但是這個工具是互動式並且比iostat更詳細。可以分析從遠程機器收集的資料。
 
  pt-config-diff
    #用於比較mysql設定檔和伺服器變數
    #至少2個配置源需要指定,可以用於遷移或升級前後設定檔進行對比
   
  pt-align
    #格式化輸出
   
  pt-slave-find
    #串連mysql主伺服器並尋找其所有的從,然後列印出所有從伺服器的層級關係。
   
  pt-table-checksum
    #用於校正mysql複製的一致性。
    #該工具主要是高效的尋找資料差異,如果存在差異性,可以通過pt-table-sync來解決。

percona-toolkit 之 【pt-summary】、【pt-mysql-summary】、【pt-config-diff】、【pt-variable-advisor】說明 

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.