Ubuntu 16.04 LTS で MySQL のスロークエリログを出力する方法

スロークエリログ

一定の条件を設定し、それを満たす(満たしてしまう)クエリに対してログを吐き出す設定です。パフォーマンス改善などに役立ちます。

設定ファイル

以下のファイルに追記します。

/etc/mysql/mysql.conf.d/mysqld.cnf

設定内容(設定項目)

以下の項目を設定しておけばいいでしょう。他にも項目がありますが、公式リファレンスを参照してみてください。

  • slow_query_log
    • スロークエリログの有効無効を設定する
    • 0 or 1 または OFF or ON で設定する
  • slow_query_log_file
    • 出力するログファイルの場所を設定する
    • /var/log/mysql/slow_query.log など
  • long_query_time
    • ここで指定した数値(単位は秒)以上の時間がかかったクエリを記録する
  • log_queries_not_using_indexes
    • インデックスを使用しなかったクエリを記録するかどうかを設定する
    • 0 or 1 または OFF or ON で設定する

設定例

例えば以下のように追記します。追記した後は再起動を忘れないようにしましょう。

slow_query_log = ON
slow_query_log_file = /var/log/mysql/slow_query.log
long_query_time = 3
log_queries_not_using_indexes = ON
Powered by はてなブログ