MEMO REC

雑記帳兼php、mysql、html、css、javascript等の備忘録です。

【MySQL】slow_query_logの保管場所や設定(閾値)時間の確認/変更

Mysqlのチューニングの際にスロークエリログを確認する事がありますが、
ログの場所やスロークエリを吐きだすまでの時間を確認する方法と設定を変更(更新)する方法をメモします。

確認

slow_query_logがどこに保存されているかを確認する。
mysql> show variables like 'slow_query%';                                                                        
+---------------------+------------------------------+
| Variable_name       | Value                        |
+---------------------+------------------------------+
| slow_query_log      | ON                           |
| slow_query_log_file | /var/log/mysqld_slow.log |
+---------------------+------------------------------+
2 rows in set (0.00 sec)
現在指定されているlong_query_time(指定した秒数以上で記録する)を確認する
mysql> show variables like 'long%';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 5.000000 |
+-----------------+----------+
1 row in set (0.01 sec)

設定(コマンドラインでの設定)

ログを保管する場所を設定
set GLOBAL slow_query_log_file = '【保存するパス】';
スロークエリのログを吐き出すまでの時間(秒)を設定

・下記の場合10秒に変更

set GLOBAL long_query_time = 10;
スロークエリのログを残すかどうか

・有効:「0」または「ON」
・無効:「1」または「OFF」

mysql> set GLOBAL slow_query_log = ON;