La connessione al database si interrompe? “MySQL server has gone away” richiede di capire quando e perché è stata chiusa, prima di ripetere il lavoro.
Indice dei contenuti
Che cosa significa
Il client tenta di usare una connessione che il server ha chiuso, perso o interrotto prima del completamento dell’operazione.
Come riconoscere il problema
- import interrotto.
- errori WordPress intermittenti.
- server has gone away nel log.
- errore dopo inattività.
- BLOB grandi falliti.
Cause più frequenti
- wait_timeout scaduto
- max_allowed_packet
- Riavvio o crash mysql
- Query lunga
- Connessione instabile
- Pool che riusa connessioni morte
Diagnosi passo per passo
- Annota orario, messaggio completo e operazione interrotta: per esempio importazione, salvataggio o richiesta del sito.
- Verifica se il problema compare dopo inattività, con un particolare file o durante un riavvio del database. Chiedi al supporto i riscontri nei log del servizio.
- Per un import, conserva il dump e individua l’ultima operazione riuscita. Non presumere che una disconnessione abbia annullato tutto il lavoro.
Procedura di risoluzione
- Se il problema è una connessione scaduta, correggi il riutilizzo delle connessioni nell’applicazione. Una nuova connessione non riprende una transazione precedente.
- Se i log indicano un pacchetto troppo grande, riduci le dimensioni delle istruzioni di importazione o valuta con il gestore i limiti del client e del server.
- Se emerge un riavvio o un errore del servizio, fai risolvere quella causa. Il solo messaggio “server has gone away” non giustifica riparazione o ripristino di tabelle.
- Prima di ripetere una scrittura di esito incerto, verifica se i dati sono già presenti. Questo evita ordini, operazioni o importazioni duplicate.
- Prova la correzione su una copia e verifica sia i dati sia l’operazione che prima falliva. Invia al supporto il contesto e i log pertinenti, senza credenziali.
Guide Xlogic correlate
- MySQL Error 1064: errore di sintassi SQL
- MySQL Too many connections: come risolvere
- MySQL Error 1146 Table doesn’t exist