2013-03-21 3 views
22

Я использую MySQL версии 5.1.66. Я видел, что переменная long_query_time динамичен, но когда я попыталсяПочему я не мог изменить переменную long_query_time во время выполнения

set GLOBAL long_query_time=1; 

После этой операции я снова попытался

mysql> show variables like 'long_query_time'; 
+-----------------+-----------+ 
| Variable_name | Value  | 
+-----------------+-----------+ 
| long_query_time | 10.000000 | 
+-----------------+-----------+ 
1 row in set (0.00 sec) 

С тузда консолью она не получает измененном, почему?

ответ

42

Вы устанавливаете глобальные переменные системы, но запрашивая переменную SESSION. Чтобы значение переменной GLOBAL вступила в силу для текущего сеанса, вам нужно повторно подключиться или установить переменную @@ SESSION.long_query_time. (Обратите внимание, что SHOW ПЕРЕМЕННЫЕ по умолчанию показаны переменные сессии.)

Вот пример:

mysql> SHOW SESSION VARIABLES LIKE "long_query_time"; 
+-----------------+-----------+ 
| Variable_name | Value  | 
+-----------------+-----------+ 
| long_query_time | 10.000000 | 
+-----------------+-----------+ 

mysql> SET @@GLOBAL.long_query_time = 1; 

mysql> SHOW GLOBAL VARIABLES LIKE "long_query_time"; 
+-----------------+----------+ 
| Variable_name | Value | 
+-----------------+----------+ 
| long_query_time | 1.000000 | 
+-----------------+----------+ 

mysql> SHOW VARIABLES LIKE "long_query_time"; 
+-----------------+-----------+ 
| Variable_name | Value  | 
+-----------------+-----------+ 
| long_query_time | 10.000000 | 
+-----------------+-----------+ 
+0

Спасибо, так Я получил это, когда мы попытались показать переменную типа long_query_time, она отображает переменную сеанса –

+0

Очень верно, я не думал об этом. благодаря –

3

Изменение значения системной переменной в mysql (cfr. http://dev.mysql.com/doc/refman/5.1/en/set-statement.html) не изменяет значение для клиентов, уже подключенных к сеансу.

Изменение будет продолжаться до перезагрузки сервера, последующих изменений или окончания сеанса.

см http://bugs.mysql.com/bug.php?id=38704 для получения более подробной информации

+0

Таким образом, мы не можем изменить эту переменную long_query_time для этой версии MySQL 5.1.66 –

Смежные вопросы