mysql - tablas - Por qué no pude alterar la variable long_query_time en el tiempo de ejecución
slow query log mysql (2)
Cambiar un valor de variable del sistema en mysql (cfr. http://dev.mysql.com/doc/refman/5.1/en/set-statement.html ) no altera el valor para los clientes que ya están conectados a una sesión.
El cambio durará hasta que el servidor se reinicie, los cambios posteriores o la expiración de la sesión.
Consulte http://bugs.mysql.com/bug.php?id=38704 para obtener más detalles
Estoy usando MySQL versión 5.1.66. Vi que la variable long_query_time es dinámica, pero cuando probé
set GLOBAL long_query_time=1;
Después de la operación anterior otra vez intenté
mysql> show variables like ''long_query_time'';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)
Desde la consola mysql no se altera, ¿por qué?
Está configurando una variable de sistema GLOBAL, pero está consultando la variable SESSION. Para que la configuración de la variable GLOBAL surta efecto en la sesión actual, debe volver a conectarse o establecer la variable @@ SESSION.long_query_time. (Tenga en cuenta que MOSTRAR VARIABLES por defecto muestra las variables de la sesión).
Aquí hay un ejemplo:
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 |
+-----------------+-----------+