欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

創(chuàng)新互聯網站建設由有經驗的網站設計師、開發(fā)人員和項目經理組成的專業(yè)建站團隊,負責網站視覺設計、用戶體驗優(yōu)化、交互設計和前端開發(fā)等方面的工作,以確保網站外觀精美、成都網站設計、做網站易于使用并且具有良好的響應性。

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

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

統計,統計出各查詢的執(zhí)行時間、次數、占比等,可以借助分析結果找出問題進行優(yōu)化。默認情況下,該工具分析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時,如果存在相同的語句,且查詢所在的時間區(qū)間和歷史表中的不同,則會記錄到數據表中,可以通過查詢同--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參數把分析結果輸出到表中時,如果沒有表就自動創(chuàng)建;

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

使用舉例:

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命令有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網站題目:mysql中的pt-query-digest命令有什么用
當前網址:http://chinadenli.net/article14/jgjege.html

成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站設計建站公司App開發(fā)網站設計云服務器定制開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網站建設公司