MySQL慢查詢日志分析

最基本的是mysql自帶的mysqlslowdump


用起來很簡單:


 


mysqldumpslow -s c -t 20 host-slow.log


 



參數:


   1. -s,排序,c,t,l,r以及ac,at,al,ar分別是按照query次數,時間,lock時間,返回記錄排序。加a就是倒序。
   2. -t,top n,跟上數字就是算出top多少條
   3. -g,跟正則表達式。


先進一點的是mysqlsla,也是一個perl腳本,


網址:http://hackmysql.com/mysqlsla


同時這個網站也有其他一些工具,看起來都不錯。


 


這個需要小安裝一下:



tar xvfz mysqlsla-2.03.tar.gz
cd mysqlsla-2.03
perl Makefile.PL
make
make install



註意需要perl的支持!


#yum install perl


#yum install perl-Time-HiRes


 



後者是因為第一次運行的時候說2095行報錯,於是看瞭一下,2095行是


  use Time::HiRes qw(gettimeofday tv_interval);


安裝下就好瞭。不復雜。


 


運行也比較簡單:



    — Slow log: mysqlsla -lt slow slow.log


     — General log: mysqlsla -lt general general.log


     — Binary log: mysqlbinlog bin.log | mysqlsla -lt binary


 


     mysqlsla -lt slow /data/database/slow.log


 



註意lt=log type,他其實也可以分析mysql的其他日志類型的。


mysqlsla 優點是分析結果很清晰,推薦使用

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *