WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

MySQLで実行されたSQLのログを記録する

      2012/12/11

クエリの記録

MySQLの設定ファイルに”log=ログへのパス“の一文を追記するだけで実行されたすべてのSQL文をログとして記録することができます。

# vi /etc/my.cnf
[mysqld]
[mysqld]ディレクティブ内に以下を追記
log=/var/log/mysql/query.log

# mkdir /var/log/mysql
# chown mysql:root /var/log/mysql

# /etc/init.d/mysql restart

このログへの書き込みはmysqlの実行ユーザが行うので、オーナーの変更が必要です。

全SQL文が記録されるため、クエリの量が多い本番環境ではI/O負荷も馬鹿になりませんのでテスト環境向けの設定といえます。
個人的にはテスト環境でのデバッグやオープンソースソフトのデモ動作時にどんなSQLが発行されているかなどを確認する用途で利用しています。

 - MySQL , , ,