ソフトウェア開発 プログラミング

[MySQL]全てのクエリログを確認する方法

ソフトウェア開発
この記事は約2分で読めます。
スポンサーリンク

MySQLを開発時に使用しているときに、実行されているクエリのログを確認したい場合の設定方法について説明したいと思います。

デバッグ時などに実際に実行されているクエリを確認する際に役に立つと思います。

スポンサーリンク

前提条件

MySQL:5.6.35

ログの出力設定の確認

クエリのログは「一般クエリーログ」というログに出力されるのですが、「一般クエリーログ」はデフォルトではOFFになってたりするので、まずは出力されるように設定されているか下記のクエリを実行して確認します。

show variables like 'general_log%';

すると、「general_log」と「general_log_file」の2つの設定が確認できます。

  • general_log:一般クエリーログのONOFFの設定
  • general_log_file:一般クエリーログの出力先

general_log」がOFFになっているとログが出力されないので「general_log」をONにします。

general_logONにする

下記のクエリを実行すると「general_log」をONにすることができます。

set global general_log = on;

これで「general_log_file」に設定されているログ出力先にクエリのログが出力されるようになります。

ログ出力時の注意点

クエリのログを全て出力するのでログファイルの容量はどんどん大きくなります。容量に余裕がない場合はログの設定をOFFにしたり、ログファイルを定期的に削除するようにしましょう。

ログの出力設定をOFFにするには下記のクエリを実行します。

set global general_log = off;

最後に

デバッグ時など処理の詳細を分析したい場合にMySQLのクエリログを確認することで不具合の発見やプログラムの見直しなどに役に立つと思います。特に最近の開発環境だとフレームワークを利用して開発することが多く、あまり素のSQLを意識する事もなくなっているので、プログラムは一見正しそうだけと意図するクエリが実行されてないような場合に、今回の設定を有効活用していきたいですね。

スポンサーリンク
スポンサーリンク
KoEをフォローする
CodeLab

コメント

タイトルとURLをコピーしました