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

Qual è la variabile wait_timeout, net_read_timeout e net_write_timeout di MySQL?

MySQL utilizza diverse variabili di timeout per le varie fasi.

  • Quando viene stabilita la connessione, utilizza connection_timeout
  • Quando attende la query successiva utilizza wait_timeout
  • Quando non riceve la query nell'ora specifica utilizza net_read_timeout e net_write_timeout
  • E così via...

Di solito net_read_timeout non dovrebbe essere un problema ma quando hai qualche problema di rete, specialmente durante la comunicazione con il server questo timeout potrebbe essere sollevato perché invece di un singolo pacchetto per la query, che hai inviato al database, MySQL attende che l'intera query sia letto ma, a causa del problema di rete, non riceve il resto della query. MySQL non consente al client di parlare con il server fino a quando il risultato della query non viene recuperato completamente.

Non è possibile modificare correttamente queste due variabili, che dopotutto sono variabili di sessione.

Puoi leggere anche dal MySQL Doc

net_read_timeout :

net_write_timeout :

Puoi controllare la variabile di default all'interno di MySQL stesso usando

> mysql show variables like '%timeout';