MySQL で最後に実行されたクエリを表示するにはどうすればいいですか? 質問する

MySQL で最後に実行されたクエリを表示するにはどうすればいいですか? 質問する

すべてのサーバーで最後に実行されたクエリを表示するクエリや方法はありますか?

ベストアンサー1

MySQL >= 5.1.12 を使用している場合は、実行時にこのオプションをグローバルに制御できます。

  1. 実行するSET GLOBAL log_output = 'TABLE';
  2. 実行するSET GLOBAL general_log = 'ON';
  3. 表を見てくださいmysql.general_log

テーブルではなくファイルに出力したい場合は、次のようにします。

  1. SET GLOBAL log_output = "FILE"; デフォルト
  2. SET GLOBAL general_log_file = "/path/to/your/logfile.log";
  3. SET GLOBAL general_log = 'ON';

以下の理由から、.cnf ファイルを編集するよりもこの方法の方が好ましいです:

  1. ファイルを編集していないmy.cnfため、ログ記録が永続的に有効になる可能性がある
  2. クエリ ログを探してファイル システム内を探し回る必要はなく、さらに悪いことに、完璧な保存先を求める必要性に気を取られることもありません。/var/log /var/data/log /opt /home/mysql_savior/var
  3. サーバーを再起動して、サーバーへの現在の接続を中断する必要はありません。
  4. サーバーを再起動すると、開始した場所に戻ります (ログはデフォルトではオフのままです)

詳細については、MySQL 5.1 リファレンスマニュアル - サーバーシステム変数 - general_log

おすすめ記事