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

Come impostare un timeout di connessione in base all'accesso dell'utente in MySQL

Non esiste una configurazione del timeout per utente, ma puoi impostare il wait_timeout valore in modo dinamico. Cioè, dopo aver effettuato una connessione come un determinato utente, puoi emettere un'istruzione per modificare il valore di timeout in quello che vuoi che sia per la sessione di quell'utente.

Prova il seguente esperimento nel client della riga di comando mysql:

mysql> SHOW VARIABLES LIKE 'wait_timeout';

...mostra 28800 (ovvero 8 ore), che è il wait_timout predefinito .

mysql> SET SESSION wait_timeout = 60;
mysql> SHOW VARIABLES LIKE 'wait_timeout';

...mostra 60.

Quindi puoi uscire dalla sessione, riconnetterti e di nuovo il wait_timeout predefinito è 28800. Quindi è limitato all'ambito della sessione corrente.

Puoi anche aprire una seconda finestra e avviare una sessione client mysql separata, per dimostrare che cambiando il wait_timeout in una sessione non influisce sulle altre sessioni simultanee.