すべてのサーバーで最後に実行されたクエリを表示するクエリや方法はありますか?
ベストアンサー1
MySQL >= 5.1.12 を使用している場合は、実行時にこのオプションをグローバルに制御できます。
- 実行する
SET GLOBAL log_output = 'TABLE';
- 実行する
SET GLOBAL general_log = 'ON';
- 表を見てください
mysql.general_log
テーブルではなくファイルに出力したい場合は、次のようにします。
SET GLOBAL log_output = "FILE";
デフォルト。SET GLOBAL general_log_file = "/path/to/your/logfile.log";
SET GLOBAL general_log = 'ON';
以下の理由から、.cnf ファイルを編集するよりもこの方法の方が好ましいです:
- ファイルを編集していない
my.cnf
ため、ログ記録が永続的に有効になる可能性がある - クエリ ログを探してファイル システム内を探し回る必要はなく、さらに悪いことに、完璧な保存先を求める必要性に気を取られることもありません。
/var/log /var/data/log
/opt /home/mysql_savior/var
- サーバーを再起動して、サーバーへの現在の接続を中断する必要はありません。
- サーバーを再起動すると、開始した場所に戻ります (ログはデフォルトではオフのままです)