2

I want MySQL to treat all queries as slow queries and log them into a table.

MySQL version is 5.1.69. I did the following:

set global log_output = "TABLE";
set global log_slow_queries = 1;
set global long_query_time = 0;

However, the table mysql.slow_log is empty although queries have been executed. Why? The general_log is also enabled and mysql.general_log contains all queries.

4

2 に答える 2

1

これらのグローバル変数を動的に設定する際の問題は、既存のセッションに影響を与えないことです。

既存のセッションにはすでに@@session.long_query_time設定があり、 によってオーバーライドされることはありません@@global.long_query_time

グローバルな変更を行った後に新しいセッションが作成された場合、それらは新しい値を継承するため、その場合、新しいセッションのクエリは表示されますが、古いセッションは表示されません。

于 2013-10-24T17:51:27.467 に答える