【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;