percona-toolkit系列之監控類工具使用
1. pt-deadlock-logger
功能介紹:
提取和記錄mysql死鎖的相關信息
用法介紹:
pt-deadlock-logger [OPTION...] SOURCE_DSN
收集和保存mysql上最近的死鎖信息,可以直接打印死鎖信息和存儲死鎖信息到數據庫中,死鎖信息包括發生死鎖的服務器、最近發生死鎖的時間、死鎖線程id、死鎖的事務id、發生死鎖時事務執行了多長時間等等非常多的信息。詳情見下面的示例。
使用示例:
范例1:打印本地mysql的死鎖信息
pt-deadlock-logger --user=root --password=zhang@123 h=localhost –print
范例2:將本地的mysql死鎖信息記錄到數據庫的表中,也打印出來
pt-deadlock-logger --user=root --password=zhang@123 h=localhost --print D=test,t=deadlocks
2. pt-fk-error-logger
功能介紹:
提取和記錄mysql外鍵錯誤信息
用法介紹:
pt-fk-error-logger [OPTION...] SOURCE_DSN
通過SHOW INNODB STATUS提取和保存mysql數據庫最近發生的外鍵錯誤信息。可以通過參數控制直接打印錯誤信息或者將錯誤信息存儲到數據庫的表中。
使用示例:
我在服務器上運行的時候一直報如下錯誤:
Use of uninitialized value in concatenation (.) or string at /usr/bin/pt-fk-error-logger line 2045
我懷疑是這個程序有問題,回頭換一個版本試一下或者調試一下那個程序。
3. pt-mext
功能介紹:
並行查看SHOW GLOBAL STATUS的多個樣本的信息。
用法介紹:
pt-mext [OPTIONS] -- COMMAND
原理:pt-mext執行你指定的COMMAND,並每次讀取一行結果,把空行分割的內容保存到一個一個的臨時文件中,最後結合這些臨時文件並行查看結果。
使用示例:
范例1:每隔10s執行一次SHOW GLOBAL STATUS,並將結果合並到一起查看
pt-mext -- mysqladmin ext -uroot -pzhang@123 -i10 -c3
4. pt-query-digest
功能介紹:
分析查詢執行日志,並產生一個查詢報告,為MySQL、PostgreSQL、 memcached過濾、重放或者轉換語句。
用法介紹:
pt-query-digest [OPTION...] [FILE]
解析和分析mysql日志文件
使用示例:
范例1:分析本地的慢查詢文件
pt-query-digest --user=root --password=zhang@123 /data/dbdata/localhost-slow.log
范例2:重新回顧滿查詢日志,並將結果保存到query_review中,注意query_review表的表結構必須先建好,表結構如下:
CREATE TABLE query_review (
checksum BIGINT UNSIGNED NOT NULL PRIMARY KEY,
fingerprint TEXT NOT NULL,
sample TEXT NOT NULL,
first_seen DATETIME,
last_seen DATETIME,
reviewed_by VARCHAR(20),
reviewed_on DATETIME,
comments TEXT
);
命令如下:
pt-query-digest --user=root --password=zhang@123 --review h=localhost,D=test,t=query_review /data/dbdata/localhost-slow.log
5. pt-trend
功能介紹:
居於一組時間序列的數據點做統計。
用法介紹:
pt-trend [OPTION...] [FILE ...]
讀取一個慢查詢日志,並輸出統計信息。也可以指定多個文件。如果不指定文件的話直接從標准輸入中讀取信息。
使用示例:
范例1:讀取本地慢查詢日志並輸出統計信息
pt-trend /data/dbdata/localhost-slow.log
這裡輸出的信息沒有說明,有點看不明白!
Percona Toolkit 的詳細介紹:請點這裡
Percona Toolkit 的下載地址:請點這裡