Percona Toolkit 神器全攻略
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包
建立資料夾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
技術交流群:
微信:掃碼新增
GreatSQL社群助手
微信好友,傳送驗證資訊加群
。