MySQLサーバーでクエリ履歴をログファイルに保存する方法
なんだか、ネットで調べていると情報があちこちに分散されているようなので、ここらで簡単にまとめておきたいと思います。
MySQLでクエリーのログを吐き出したい場合は、まず設定ファイル(/etc/my.cnf)に次のように「log=…」でログファイルの保存先を指定します。
[mysqld] ...(中略)... log=/var/log/mysql_query.log
この後、MySQLの起動スクリプトに云々と書いてあるところがありますが、そんな回りくどいことはしなくてOK。 次のように事前に空のログファイルを作成しておきパーミッションをmysqlにしておきます。
# touch /var/log/mysql_query.log # chown mysql:mysql /var/log/mysql_query.log
そして、最後にMySQLサーバーを再起動させればOK。
# /etc/init.d/mysql restart
起動コマンドは各々のサーバーに従ってくださいね。
tailコマンドでリアルタイム監視
tailコマンドに「-f」オプションをつけることで、クエリーが正しく実行されているかどうかをリアルタイムに監視することができますよ。
# tail -f /var/log/mysql_query.log
お役に立ちましたでしょうか?
2012-05-15