MySQLで遅延クエリを吐き出すSlow Queryを設定する方法

Mysql-1

2012年07月30日(月)

  結構実用的なこの方法。 MySQLで遅延クエリをログとして出力する機能の設定方法です。 気づかないところでクエリ遅延が起きています。 きちんと集計してサイトメンテナンスしましょう。      
では早速ですが始めます。 まず、設定ファイルですが、 僕の環境はXAMPPを使用しているので以下になります。


C:\xampp\mysql\bin\my.ini こちらのファイルを編集します。

# The MySQL server [mysqld]

    とか検索して貰えばあると思いますが、 こちらが設定情報になっているようです。  


  デフォルトで

log_error=”mysql_error.log”

とかいうログもはいていますね。    


こちらはSQLのエラーログになります。    


実際にどこに吐き出しているかというと、 きちんとパスを指定しています。

datadir=”C:/xampp/mysql/data”


  こちらで設定している箇所を参照してみてください。

mysql_error.log    

こちらのファイルを確認できましたでしょうか?    


では、こちらと同様にこの設定情報に追記してログ設定しましょう。 僕は以下のように設定しました。    


log_slow_queries = “slow_query.log” //出力するファイル名
long_query_time = 1 //何秒かかったら出力するかの設定    


また、以下を指定するとインデックスを使わないクエリの出力もできます。

log-queries-not-using-indexes


    こちらの設定が終わりましたら、 MySQLの再起動をしてください。


  ■確認方法 mysqlにて「show variables like ‘log_slow%’」なんかでONになっていることを確認。

phpMyAdminであれば、ホーム画面より、「変数」を選択し、  

slow launch time slow query log slow query log file

の値を確認するとよさそうですね!!!  

これでログ設定はよし!!!

次はログローテートの方法でもちょっとやる事になると思います!!!  

では!!

 

スポンサードリンク

運営サービスPR

スポンサードリンク

運営サービスPR