Percona Toolkit 神器全攻略

GreatSQL發表於2024-05-20

Percona Toolkit 神器全攻略

file

Percona Toolkit 神器全攻略系列共八篇分為

文章名 文章名
Percona Toolkit 神器全攻略 Percona Toolkit 神器全攻略(實用類)
Percona Toolkit 神器全攻略(配置類) Percona Toolkit 神器全攻略(監控類)
Percona Toolkit 神器全攻略(系統類) Percona Toolkit 神器全攻略(開發類)
Percona Toolkit 神器全攻略(複製類) Percona Toolkit 神器全攻略(效能類)

全文約定:$為命令提示符、greatsql>為GreatSQL資料庫提示符。在後續閱讀中,依據此約定進行理解與操作

Percona Toolkit 簡介

Percona Toolkit簡稱(PT工具),是一組高階命令列工具,用於管理MySQL/GreatSQL的工具。可以用它來執行各種難以手動執行的MySQL/GreatSQL和系統任務。其功能包括檢查主從複製的資料一致性、檢查重複索引、定位IO佔用高的表檔案、線上DDL等,DBA熟悉掌握PT工具後將極大提高工作效率。

  • 介紹文件:https://docs.percona.com/percona-toolkit/index.html

本系列只介紹和探討Percona Toolkit中針對MySQL/GreatSQL資料庫的實用工具

Percona Toolkit 安裝

本系列所使用環境如下

名稱 配置
作業系統 Linux myarch 6.6.3-arch1-1 x86_64 GNU/Linux
GNU Libc ldd (GNU libc) 2.38
資料庫 GreatSQL 8.0.32-25, Release 25, Revision 79f57097e3f

使用包管理器安裝

  • 對於 Debian 或 Ubuntu:

    $ sudo apt-get install percona-toolkit
    
  • 對於 RHEL 或 CentOS:

    $ sudo yum install percona-toolkit
    

包管理器安裝較為簡單,這裡就不做示範

使用TAR包安裝

前往➥https://www.percona.com/downloads,選擇合適的版本下載Percona Toolkit

選擇合適自己的CPU架構和作業系統版本Percona Toolkit包

file

建立資料夾pt,將下載的安裝包儲存於此,並檢查sha256sum碼,確保完整性

$ mkdir /usr/local/pt
$ sha256sum -c percona-toolkit-3.5.7_x86_64.tar.gz.sha256sum
percona-toolkit-3.5.7_x86_64.tar.gz: OK

解壓檔案,並新增到環境變數

$ tar -xvf percona-toolkit-3.5.7_x86_64.tar.gz
$ echo 'export PATH=/usr/local/pt/percona-toolkit-3.5.7/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile

隨機選擇一個工具檢視版本號,確認安裝成功

$ pt-online-schema-change --version
pt-online-schema-change 3.5.7

使用RPM包安裝

以下示範環境為 Centos7 - X86_64架構 - ldd (GNU libc) 2.17

下載好3.5.7版本的Centos7 RPM包

$ ls
percona-toolkit-3.5.7-1.el7.x86_64.rpm

使用rpm命令安裝Percona Toolkit,如果此時有報缺失依賴,用YUM安裝即可

$ rpm -ivh --nodeps percona-toolkit-3.5.7-1.el7.x86_64.rpm

隨機選擇一個工具檢視版本號,確認安裝成功

$ pt-online-schema-change --version
pt-online-schema-change 3.5.7

Percona Toolkit 包含的工具

3.5.7版本Percona Toolkit工具擁有39個工具,將這39個工具分為七大類(實用類、配置類、監控類、系統類、開發類、複製類、效能類)

$ ls
pt-align                  pt-fingerprint           pt-mext                  pt-query-digest    pt-summary
pt-archiver               pt-fk-error-logger       pt-mongodb-index-check   pt-secure-collect  pt-table-checksum
pt-config-diff            pt-galera-log-explainer  pt-mongodb-query-digest  pt-show-grants     pt-table-sync
pt-deadlock-logger        pt-heartbeat             pt-mongodb-summary       pt-sift            pt-table-usage
pt-diskstats              pt-index-usage           pt-mysql-summary         pt-slave-delay     pt-upgrade
pt-duplicate-key-checker  pt-ioprofile             pt-online-schema-change  pt-slave-find      pt-variable-advisor
pt-fifo-split             pt-k8s-debug-collector   pt-pg-summary            pt-slave-restart   pt-visual-explain
pt-find                   pt-kill                  pt-pmp                   pt-stalk`

實用類

工具命令 工具用途
pt-align 將其它工具輸出內容與列對齊
pt-archiver 將表中的行存檔到另一個表或檔案中
pt-find 查詢表並執行命令
pt-fingerprint 將查詢轉成密文
pt-kill Kill掉符合條件的SQL
pt-k8s-debug-collector 從 k8s/OpenShift 叢集收集除錯資料(日誌、資源狀態等)
pt-secure-collect 收集、清理、打包和加密資料

配置類

工具命令 工具描述
pt-config-diff 比較資料庫配置檔案和引數
pt-mysql-summary 對GreatSQL/MySQL配置和STATUS進行彙總
pt-variable-advisor 分析引數,並提出建議

監控類

工具命令 工具描述
pt-deadlock-logger 提取和記錄GreatSQL/MySQL死鎖
pt-fk-error-logger 提取和記錄外來鍵資訊
pt-mext 並行檢視STATUS樣本資訊
pt-query-digest 分析查詢日誌,併產生報告
pt-mongodb-summary 收集有關 MongoDB 叢集的資訊
pt-pg-summary 收集有關 PostgreSQL 叢集的資訊

系統類

工具命令 工具描述
pt-diskstats 檢視系統磁碟狀態
pt-fifo-split 模擬切割檔案並輸出
pt-ioprofile 查詢程序IO並列印一個IO活動表
pt-sift 瀏覽由pt-stalk建立的檔案
pt-stalk 出現問題時,收集診斷資料
pt-summary 收集和顯示系統概況

開發類

工具命令 工具描述
pt-duplicate-key-checker 列出並刪除重複的索引和外來鍵
pt-online-schema-change 線上修改表結構
pt-show-grants 規範化和列印許可權
pt-upgrade 在多個伺服器上執行查詢,並比較不同

複製類

工具命令 工具描述
pt-heartbeat 監控GreatSQL/MySQL複製延遲
pt-slave-delay 設定從落後主的時間
pt-slave-find 查詢和列印所有GreatSQL/MySQL複製層級關係
pt-slave-restart 監控Salve錯誤,並嘗試重啟Salve
pt-table-checksum 校驗主從複製一致性
pt-table-sync 高效同步表資料
pt-galera-log-explainer 對多個Galera日誌進行過濾、聚合和彙總

效能類

工具命令 工具描述
pt-index-usage 分析日誌中索引使用情況,並出報告
pt-pmp 查詢結果跟蹤,並彙總跟蹤結果
pt-table-usage 分析日誌中查詢並分析表使用情況
pt-visual-explain 格式化執行計劃
pt-mongodb-index-check MongoDB 索引執行檢查
pt-mongodb-query-digest 透過聚合來自 MongoDB 查詢分析器的查詢來報告查詢使用統計資訊

接下來的章節中將對這七類的工具進行詳細講解 😃


Enjoy GreatSQL 😃

關於 GreatSQL

GreatSQL是適用於金融級應用的國內自主開源資料庫,具備高效能、高可靠、高易用性、高安全等多個核心特性,可以作為MySQL或Percona Server的可選替換,用於線上生產環境,且完全免費併相容MySQL或Percona Server。

相關連結: GreatSQL社群 Gitee GitHub Bilibili

GreatSQL社群:

社群部落格有獎徵稿詳情:https://greatsql.cn/thread-100-1-1.html

image-20230105161905827

技術交流群:

微信:掃碼新增GreatSQL社群助手微信好友,傳送驗證資訊加群

image-20221030163217640

相關文章