MySQLでのログを取る(Debian,Log)

この記事は約2分で読めます。
スポンサーリンク

MySQLでのログは標準でOFFなので、これを有効にする。

まず、

/etc/mysql/my.conf (Debian)

を開いて編集。

■ジェネラルログ(一般ログ)

# general_log_file = /var/log/mysql/mysql.log
# general_log = 1

↑先頭の#を外す。

■スロウクエリ

# Here you can see queries with especially long duration
# log_slow_queries = /var/log/mysql/mysql-slow.log
# long_query_time = 2

↑下二行の#を外す。

編集後、MySQLの停止、再開。

sudo /etc/init.d/mysql restart

すると、

Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.

と表示され、MySQLが再起動され、設定が反映される。

上記で示した場所

/var/log/mysql/mysql.log
/var/log/mysql/mysql-slow.log

に、ログファイルが生成されていることを確認する。

スロウクエリは、long_query_timeで指定した時間以上の場合に記録されるので、スロウクエリがない場合は記録されないが、
ジェネラルログは逐一記録されるので、MySQLの稼働が多いとログが膨大になるので注意。

スロウクエリの例

# Time: 131225 23:30:00
# User@Host: root[root] @ localhost []
# Query_time: 2.941743 Lock_time: 0.000372 Rows_sent: 362 Rows_examined: 7138142
use test;
SET timestamp=1387952279;

タイトルとURLをコピーしました