slow.logの取り方
my.cnfにて設定を行う
[root@hoge etc]# vim /etc/my.cnf
mysqldにて、以下を追記
log-slow-queries ・・・ slow.logのパスとファイル名
long_query_time ・・・ 何秒以上のSQLをlogに出すか
# The MySQL server [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-locking key_buffer_size = 384M 〜(略)〜 log-slow-queries = /var/lib/mysql/mysql_slow.log long_query_time = 1
ファイルを作成しておく
[root@hoge etc]# cd /var/lib/mysql/ [root@hoge mysql]# touch mysql_slow.log
mysqlを再起動
[root@hoge mysql]# /etc/init.d/mysql restart Shutting down MySQL.. [ OK ] Starting MySQL. [ OK ]
有効になっているか確認(log_slow_queriesがON)
mysql> show variables like 'log%'; +---------------------------------+------------------------------------+ | Variable_name | Value | +---------------------------------+------------------------------------+ | log | OFF | | log_bin | ON | | log_bin_trust_function_creators | OFF | | log_bin_trust_routine_creators | OFF | | log_error | /var/lib/mysql/hoge.ate.am.err | | log_output | FILE | | log_queries_not_using_indexes | OFF | | log_slave_updates | OFF | | log_slow_queries | ON | | log_warnings | 1 | +---------------------------------+------------------------------------+ 10 rows in set (0.00 sec)
こちらでもOK
mysql> show variables like 'log_slow_queries'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | log_slow_queries | ON | +------------------+-------+ 1 row in set (0.00 sec)