Wie behebe ich den Fehler „MySQL-Server ist verschwunden“, wenn ich eine Verbindung zu meiner Amazon RDS MySQL-DB-Instance herstelle?

Lesedauer: 3 Minute
0

Ich habe versucht, eine DB-Instance des Amazon Relational Database Service (Amazon RDS) abzufragen, auf der MySQL ausgeführt wird, und habe eine der folgenden Fehlermeldungen erhalten: „MySQL-Server ist verschwunden“ oder „Verbindung zum Server während der Abfrage verloren.“

Kurze Beschreibung

Wenn beim Server eine Zeitüberschreitung aufgetreten ist und die Verbindung geschlossen wurde, erhalten Sie möglicherweise eine der folgenden Fehlermeldungen:

  • CR_SERVER_GONE_ERROR - Der Client konnte keine Frage an den Server senden.
  • CR_SERVER_LOST - Der Client hat beim Schreiben auf den Server keine Fehlermeldung erhalten, aber er hat keine vollständige Antwort (oder irgendeine Antwort) auf die Frage erhalten.

Weitere Informationen finden Sie in der MySQL-Dokumentation für den Der MySQL-Server ist verschwunden.

Behebung

Sehen Sie sich die folgenden Ursachen und zugehörigen Lösungen für diese Fehler an:

  • Wenn eine Verbindung zu lange inaktiv ist, wird die Verbindung vom Client möglicherweise fälschlicherweise beendet. Um dieses Problem zu beheben, stellen Sie sicher, dass die Anwendungs-Timeouts kürzer sind als die MySQL-Timeouts, und stellen Sie sicher, dass Ihre Anwendungen inaktive Verbindungen schließen.
  • Wenn bei einer Verbindung ein Timeout auftritt, erhöhen Sie die Timeouts für MySQL, indem Sie die Parameter wait_timeout und interactive_timeout mithilfe einer benutzerdefinierten Parametergruppe erhöhen. Weitere Informationen finden Sie unter Arbeiten mit DB-Parametergruppen.
  • Wenn die Abfrage, die den Fehler generiert, einen großen Datensatz abruft, erhöhen Sie den Größenparameter max_allowed_packet mithilfe einer benutzerdefinierten Parametergruppe. Weitere Informationen finden Sie unter Ändern von Parametern in einer DB-Parametergruppe.
    **Hinweis:**Für Amazon Aurora können Sie die Parameter ändern und in einer Cluster-Parametergruppe festlegen, um sie auf der gesamten Clusterebene anzuwenden. Wenn Sie es in einer DB-Parametergruppe festlegen, werden die Parameter nur auf Instanzebene angewendet. Für die Amazon Lightsail MySQL-Datenbank müssen Sie überprüfen, ob Parameter zur Änderung verfügbar sind, bevor Sie sie mithilfe der Befehlszeilenschnittstelle (CLI) ändern. Weitere Informationen finden Sie unter Aktualisieren von Datenbankparametern in Amazon Lightsail. Für eine Lightsail-Instanz oder eine lokale MySQL-Serverdatenbank oder Amazon Elastic Compute Cloud (Amazon EC2) MySQL können Sie den Parameter in der Konfigurationsdatei festlegen. Sie können auch global xxx festlegen, ähnlich wie es in einer normalen MySQL-Umgebung vor Ort festgelegt wird.
  • Wenn der Fehler nur bei der Rückgabe großer Datensätze auftritt, verwendet der Client möglicherweise einen großen MTU-Wert von 9001. Um dieses Problem zu beheben, reduzieren Sie den TCP/IP MTU-Wert des Clients. Informationen zum Ändern Ihres Client-MTU-Werts finden Sie unter Konfiguration der MTU einer Instance.
  • Wenn init_connect Parameter auf einen Wert gesetzt sind, der die Verarbeitung des Parameters nicht zulässt, können zugehörige Client-Verbindungen fehlschlagen. Stellen Sie sicher, dass alle init_connect Parameter korrekt verarbeitet werden. Stellen Sie sicher, dass Benutzer AUSFÜHREN Berechtigungen für alle Prozeduren haben, auf die als init_connect Parameter verwiesen wird.
  • Wenn alle Verbindungen gleichzeitig unterbrochen werden, stellen Sie sicher, dass andere Verbindungen noch funktionieren, wenn dieses Problem auftritt. Um dieses Problem zu lösen, stellen Sie sicher, dass die MySQL-DB-Instance nicht abstürzt oder ausfällt, indem Sie Amazon RDS-Ereignisse anzeigen und Ihre MySQL-Fehlerprotokolle überprüfen.

Verwandte Informationen

Herstellen einer Verbindung zu einer DB-Instanz, auf der die MySQL-Datenbank-Engine ausgeführt wird

Ändern einer Amazon RDS DB-Instance