2013-03-21 19 views
22

Sto utilizzando la versione 5.1.66 di MySQL. Ho visto che la variabile long_query_time è dinamico, ma quando ho provatoPerché non è stato possibile modificare la variabile long_query_time durante il runtime

set GLOBAL long_query_time=1; 

Dopo l'operazione di cui sopra ancora una volta ho provato

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

Dalla console di mysql non è sempre alterato, perché?

risposta

42

Si sta impostando una variabile di sistema globale, ma si interrogazione per la variabile di sessione. Affinché l'impostazione della variabile GLOBAL abbia effetto per la sessione corrente, è necessario riconnettersi o impostare la variabile @@ SESSION.long_query_time. (Si noti che SHOW VARIABLES per impostazione predefinita mostra le variabili di sessione.)

Ecco un esempio:

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

Grazie, così Ho capito che quando abbiamo provato a mostrare variabile come "long_query_time" sta visualizzando la variabile di sessione –

+0

Molto Vero, non ci ho pensato. Grazie –

3

La modifica di un valore di variabile di sistema in mysql (vedere http://dev.mysql.com/doc/refman/5.1/en/set-statement.html) non modifica il valore per i client già connessi a una sessione.

La modifica durerà fino al riavvio del server, modifiche successive o scadenza della sessione.

si rimanda per maggiori dettagli http://bugs.mysql.com/bug.php?id=38704

+0

Quindi, non possiamo cambiare la situazione long_query_time variabile per questa versione di MySQL 5.1.66 –

Problemi correlati