Mysql
 sql >> Database >  >> RDS >> Mysql

innodb_lock_wait_timeout aumenta il timeout

Se questa è un'applicazione web e stai cercando di mantenere la transazione da una pagina all'altra, non; non funzionerà.

Cosa intendi con "subito dopo"? Se non stai facendo nulla tra le due affermazioni, anche un timeout di 1 secondo dovrebbe essere abbastanza grande.

mysql> SET GLOBAL innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
|                         50 |
+----------------------------+
mysql> SET SESSION innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
|                          1 |
+----------------------------+

Per spiegare GLOBAL vs SESSION per VARIABLES:il valore GLOBAL viene utilizzato per inizializzare il valore SESSION all'avvio della connessione. Successivamente, puoi modificare il valore SESSION per influenzare ciò che stai facendo. E la modifica del valore GLOBAL non ha alcun effetto sulla tua corrente connessione.

Modificare il timeout su 1 è abbastanza sicuro (una volta compreso GLOBAL vs SESSION). L'unica cosa che cambierà è la frequenza con cui viene visualizzato quell'errore.