0

mysqlのコマンドラインクライアントでは、現在のクエリをリッスンできますか?

だから私はロギングをオンにする必要はなく、時間のクエリをチェックすることができます、私は一時的にそれに興味があります。

4

3 に答える 3

1

はい、ユーザーを使用して mysql にログインしroot、次のクエリを実行します。

SHOW FULL PROCESSLIST;

ファイルへのクエリ ロギングを有効にしてから、tail -f file_namelinux コマンドを使用して現在のクエリを表示できます。ここを参照

または、次のように linux コマンドを使用することもできます。

シェル>watch -n1 'uptime ; mysql -u root -p'your_password' test -e"show full processlist"'

于 2012-07-25T13:12:54.843 に答える
1

MySQL バージョン 5.1.16 以降を使用していると仮定すると、一般的なクエリ ログを一時的に有効にして、ファイルではなくテーブルにログを記録することができます。次に、そのテーブルから選択して最新のクエリを取得できます。

次に例を示します。

-- capture current state
SET @old_general_log = @@global.general_log;
SET @old_log_output = @@global.log_output;

-- set log output to table instead of file
set global log_output = 'TABLE';
-- enable the general log
set global general_log = 'ON';

-- get the latest query, excluding my session
select * 
from mysql.general_log
where thread_id != connection_id()
order by event_time desc
limit 1;

-- revert to previous state when done
set global general_log = @old_general_log;
set global log_output = @old_log_output;
于 2012-07-25T13:42:37.763 に答える
0

MySQLマニュアルが言うように

SHOW [FULL] PROCESSLIST;
于 2012-07-25T13:13:22.003 に答える