91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql中的pt-query-digest命令有什么用

發布時間:2021-11-02 17:03:26 來源:億速云 閱讀:144 作者:小新 欄目:MySQL數據庫

這篇文章將為大家詳細講解有關mysql中的pt-query-digest命令有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

pt-query-digest是用于分析mysql慢查詢的一個工具,它可以分析binlog、General log、slowlog,也可以通過show processlist命令或者通過tcpdump

抓取的MySQL協議數據來進行分析。可以把分析結果輸出到文件中,分析過程是先對查詢語句的條件進行參數化,然后對參數化以后的查詢進行分組

統計,統計出各查詢的執行時間、次數、占比等,可以借助分析結果找出問題進行優化。默認情況下,該工具分析slow log并會報告哪個查詢最慢。

查看幫助:

$ pt-query-digest --help

Usage: pt-query-digest [OPTIONS] [FILES] [DSN]

--host      #指定MySQL地址;

--port      #指定MySQL端口;

--socket    #指定MySQL SOCK文件;

--user      #指定MySQL用戶;

--password  #指定MySQL密碼;

--type      #指定將要分析的類型,默認是slowlog,還有如binlog,general log等;

--charset   #指定字符集;

--filter    #對輸入的慢查詢按指定的字符串進行匹配過濾后再進行分析;

--limit     #限制輸出結果百分比或數量,默認值是20,即將最慢的20條語句輸出,如果是50%則按總響應時間占比從大到小排序,輸出到總和達到50%位置截止;

--review    #將分析結果保存到表中,這個分析只是對查詢條件進行參數化,一個類型的查詢一條記錄,比較簡單;當下次使用--review時,如果存在相同的語句分析,就不會記錄到數據表中;

--history   #將分析結果保存到表中,分析結果比較詳細,下次再使用--history時,如果存在相同的語句,且查詢所在的時間區間和歷史表中的不同,則會記錄到數據表中,可以通過查詢同--CHECKSUM來比較某類型查詢的歷史變化;

--since     #從什么時間開始分析,值為字符串,可以是指定的某個"yyyy-mm-dd [hh:mm:ss]"格式的時間點,也可以是簡單的一個時間值:s(秒)、h(小時)、m(分鐘)、d(天),如12h就表示從12小時前開始統計;

--until     #截止時間,配合--since可以分析一段時間內的慢查詢;

--log       #指定輸出的日志文件;

--output    #分析結果輸出類型,值可以是report(標準分析報告)、slowlog(Mysql slow log)、json、json-anon;一般使用report,以便于閱讀;

--create-review-table     #當使用--review參數把分析結果輸出到表中時,如果沒有表就自動創建;

--create-history-table    #當使用--history參數把分析結果輸出到表中時,如果沒有表就自動創建;

使用舉例:

1) pt-query-digest分析慢查詢日志;

$ pt-query-digest --report slow.log

2) 報告最近半個小時的慢查詢;

$ pt-query-digest --report --since 1800s slow.log

3) 報告一個時間段的慢查詢;

$ pt-query-digest --report --since '2019-02-10 21:48:59' --until '2019-02-16 02:33:50' slow.log

4) 報告只含select語句的慢查詢;

$ pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i' slow.log

5) 報告針對某個用戶的慢查詢;

$ pt-query-digest --filter '($event->{user} || "") =~ m/^root/i' slow.log

6) 報告所有的全表掃描或full join的慢查詢;

$ pt-query-digest --filter '(($event->{Full_scan} || "") eq "yes") || (($event->{Full_join} || "") eq "yes")' slow.log

7) 把查詢保存到query_review表;

$ pt-query-digest --user=root –password=123456 --review h=localhost,D=test,t=query_review --create-review-table slow.log

8) 把查詢保存到query_history表;

$ pt-query-digest --user=root –password=123456 --history  h=localhost,D=test,t=query_history --create-history-table slow.log

9) 通過tcpdump抓取mysql的tcp協議數據,然后再分析;

$ tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 3306 > mysql_tcp.txt

$ pt-query-digest --type tcpdump mysql.tcp.txt > slow_report.log

10) 分析binlog;

$ mysqlbinlog mysql-bin.000001 > mysql-bin000001.sql

$ pt-query-digest --type=binlog mysql-bin000001.sql > slow_report.log

11) 分析general log;

$ pt-query-digest --type=genlog general.log > slow_report.log

關于“mysql中的pt-query-digest命令有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

佛山市| 北安市| 崇文区| 广州市| 三亚市| 海伦市| 西青区| 贵定县| 大邑县| 汶上县| 永清县| 九龙县| 平舆县| 延津县| 阳城县| 华蓥市| 准格尔旗| 兴海县| 威信县| 信阳市| 双桥区| 红桥区| 盐源县| 陕西省| 寿阳县| 原平市| 齐齐哈尔市| 湟中县| 岚皋县| 达尔| 申扎县| 伊宁县| 丰都县| 揭阳市| 即墨市| 无为县| 德清县| 通道| 金阳县| 东阳市| 喀喇|