MySQLのクエリログを吐き出すように設定する方法

Pocket

お客様から「データが消えてしまう!」というお問い合わせをいただき、なぜなのかクエリログから辿ろうと思ったのですが、デフォルト状態ではクエリログは吐き出されないんですね。なるほど、では設定しましょう。

** 1. ログファイルの作成
/var/log あたりに、ログを吐き出すためのファイルを作成します。

/var/log# touch mysqld_query.log

*ここで所有者や権限を適切しておくことに注意してください

/var/log# chown mysql:mysql mysqld_query.log
/var/log# chmod 640 mysqld_query.log

** 2. MySQL設定ファイルの修正

MySQLの設定ファイル(一般的には/etc/my.cnfでしょうか?)の[mysqld]セクション内に、log=[クエリログファイルのパス]の形式で記述します。

あとは、MySQLの再起動を行えば、クエリのログが吐き出されるようになります。

[mysqld]

...途中略

log=/var/log/mysqld_query.log

投稿者紹介

箕輪 優一
株式会社ユニキャスト 執行役員 大学在学中より勤務し、2012年4月より現職。 「エンジニアの魂を持ったビジネスマンであること」をモットーとして、日々奮闘しています。 / はてなプロフィール - http://www.hatena.ne.jp/yminowa/ / 個人ブログ - http://blog.mino3.com/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください