MySql Server Has Gone Away – Impostare timeout connessione MySql

Quando Mysql restituisce l’errore “MySql Server has gone Away” il problema può dipendere dalla complessità e/o dalla pesantezza della query.Solitamente in questi casi il server MySql impiega troppo tempo per rispondere (resituire risultati) per cui la connessione viene interrotta essendo trascorso il tempo massimo predefinito. Se non è possibile ridurre la complessità delle query, si può provare ad aumentare la durata della connessione, in modo da stabilire se la query può essere eseguita avendo più tempo a disposizione. Per farlo bisogna modificare il file di configurazione di MySql ovvero my.cnf (my.ini su Windows). I valori da modificare sono due wait_timeout e connect_timeout e vanno aumentati gradualmente fino a quando non si riesce a risolvere il problema. Il valore dei parametri è espresso in secondi e varia da server a server, per cui dovete prendete come riferimento quelli presenti nel vostro file.

I valori di default (indicati sulla guida Mysql) sono:

wait_timeout = 28800
connect_timeout =10

Ogni volta che si effettua un cambiamento al file di configurazione il servizio ( o demone) MySql va riavviato.