Come posso risolvere l'errore "MySQL server has gone away" durante la connessione alla mia istanza database Amazon RDS MySQL?
3 minuti di lettura
0
Ho provato a eseguire una query su un'istanza database Amazon Relational Database Service (Amazon RDS) che esegue MySQL e ho ricevuto uno dei seguenti messaggi di errore: "MySQL server has gone away" o "Lost connection to server during query."
Breve descrizione
Se il server è scaduto e ha chiuso la connessione, potresti ricevere uno dei seguenti errori:
- CR_SERVER_GONE_ERROR - The client couldn't send a question to the server.
- CR_SERVER_LOST - The client didn't get an error when writing to the server, but the client didn't get a full answer (or any answer) to the question.
Per ulteriori informazioni, consulta la documentazione di MySQL su MySQL server has gone away.
Risoluzione
Consulta di seguito le cause di questi errori e le relative risoluzioni:
- Se una connessione rimane inattiva per troppo tempo, potrebbe essere terminata erroneamente dal client. Per risolvere il problema, verifica che i timeout delle applicazioni siano più brevi dei timeout di MySQL e assicurati che le applicazioni chiudano le connessioni inattive.
- Se una connessione scade, aumenta i timeout per MySQL aumentando i parametri wait_timeout e interactive_timeout utilizzando un gruppo di parametri personalizzato. Per ulteriori informazioni, consulta Gruppi di parametri per Amazon RDS.
- Se la query che genera l'errore recupera un set di dati di grandi dimensioni, aumenta il parametro della dimensione max_allowed_packet utilizzando un gruppo di parametri personalizzato. Per ulteriori informazioni, consulta Modifica dei parametri in un gruppo di parametri database in Amazon RDS.
Nota: per Amazon Aurora, puoi modificare i parametri e impostarli in un gruppo di parametri del cluster da applicare all'intero livello del cluster. L'impostazione in un gruppo di parametri database applica i parametri solo a livello di istanza. Per un database Amazon Lightsail MySQL, devi verificare se i parametri sono disponibili per la modifica prima di modificarli utilizzando l'Interfaccia a riga di comando (CLI). Per ulteriori informazioni, consulta Ottimizza le prestazioni del database Lightsail con gli aggiornamenti dei parametri. Per un database MySQL locale di un server o di un'istanza Lightsail, come anche per Amazon Elastic Compute Cloud (Amazon EC2) MySQL, puoi impostare il parametro nel file di configurazione. Puoi anche impostare global xxx, come puoi farlo in un normale ambiente MySQL on-premises. - Se l'errore si verifica solo quando vengono restituiti set di dati di grandi dimensioni, il client potrebbe utilizzare un valore MTU elevato (9001). Per risolvere il problema, riduci il valore MTU TCP/IP del client. Per informazioni sulla modifica del valore MTU del client, consulta Possibili soluzioni.
- Se alcuni parametri init_connect sono impostati su un valore che non consente l'elaborazione del parametro, le connessioni client associate possono avere esito negativo. Assicurati che tutti i parametri init_connect siano elaborati correttamente. Assicurati che gli utenti abbiano le autorizzazioni EXECUTE per tutte le procedure a cui si fa riferimento come parametro init_connect.
- Se tutte le connessioni si interrompono contemporaneamente, verifica che le altre connessioni funzionino ancora quando si verifica questo errore. Per risolvere il problema, verifica che l'istanza database MySQL non si blocchi o esegua il failover visualizzando gli eventi di Amazon RDS e analizzando i log degli errori di MySQL.
Informazioni correlate
- Argomenti
- Database
- Lingua
- Italiano

AWS UFFICIALEAggiornata 4 anni fa