MySQL で実行されるログを確認する general_log の設定方法

OR Mapper などでクエリを発行するとき、実際どのようなクエリが生成されているのかわからないです。 またアプリケーションからクエリを呼ぶときに、意図した変数をわたせているかも確認もできます(もちろんテストも書くべきですが)。

そんなとき、my.cnfの [mysqld] に次の設定をすれば、ログファイルからクエリの内容を確認できます。

general_log=1
general_log_file=/usr/local/var/log/mysql/query.log

上の設定の後、MySQLの再起動で/usr/local/var/log/mysql/query.logで保管期間1日でログ出力されるようになります。

なお、設定したままにするとログファイルが出力されっぱなしになって、ストレージを圧迫することになり兼ねませんので、確認を終えたらコメントアウトしておくのが無難かと思います。