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
お役に立ちましたでしょうか?
MySQL徹底入門 第4版 MySQL 8.0対応
¥2,090 (2025-04-20 02:51 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)MySQL運用・管理[実践]入門 〜安全かつ高速にデータを扱う内部構造・動作原理を学ぶ
¥3,018 (2025-04-19 09:13 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)3ステップでしっかり学ぶ MySQL入門[改訂第3版]
¥2,860 (2025-04-19 09:13 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)2012-05-15