MySQL クエリログを出力する

クエリログを出力する。いずれも設定はmy.cnfにて設定する。
MySQLのバージョンは5.6.19。
結合テスト環境でログ出力でき、ロールバック前のクエリがどこまで発行されているか確認することができた。

ログファイルに出力

[mysqld]
log=/var/log/mysql/query.log

うまくいかない場合(mysql再起動時にpidファイルが更新されてないエラーが出るなど)は下記テーブル出力を参照したい。

テーブルに出力

[mysqld]
general_log=on
log_output=TABLE

DBにログレコードが書き込まれるため、クエリが大量に発行される場合は注意が必要と思われる。

mysql > select * from mysql.general_log

※テーブルロックを解除しないとテーブル削除できない模様。

一時的にログを出力する

my.cnfに設定を書かなくてもクエリを流すだけでログ出力できる。

set global general_log="on";

ただし、設定として保存されるわけではないため、mysqlを再起動するともとに戻る。