Heim >Datenbank >MySQL-Tutorial >Warum schlägt meine MySQL-Verbindung mit Fehler 2006 („MySQL Server Has Gone Away') fehl und wie kann ich das Problem beheben?
Beim Ausführen eines Servers, der Dateien und Berichte verarbeitet Beim Senden der Ergebnisse an einen Remote-MySQL-Server kann es vorkommen, dass Benutzer auf die Fehlermeldung „2006, MySQL-Server ist verschwunden“ stoßen. Dies weist darauf hin, dass die Verbindung zum Server unerwartet und vorzeitig beendet wurde.
Entgegen allgemeiner Annahmen hängt das Problem normalerweise nicht mit der Einstellung „wait_timeout“ zusammen. Stattdessen liegt die Lösung in einem anderen MySQL-Parameter: max_allowed_packet.
Die Standardeinstellung für max_allowed_packet, die oft so niedrig ist wie 4 MB (4194304 Bytes) können für die Verarbeitung großer Datenpakete unzureichend sein. Wenn die Datennutzlast diesen Grenzwert überschreitet, trennt der Server die Verbindung, was den Fehler „MySQL-Server ist verschwunden“ verursacht.
Um dieses Problem zu beheben, erhöhen Sie den Wert „max_allowed_packet“ im Abschnitt [mysqld] der Datei /etc/my. cnf-Konfigurationsdatei auf Ihrem Server. Normalerweise reicht eine Einstellung von 8 oder 16 MB aus.
Zum Beispiel:
[mysqld] ... max_allowed_packet=16M ...
Alternativ können Sie den folgenden Befehl verwenden, um den Parameter dynamisch festzulegen (Änderungen gehen beim Neustart verloren):
SET GLOBAL max_allowed_packet=104857600;
Das obige ist der detaillierte Inhalt vonWarum schlägt meine MySQL-Verbindung mit Fehler 2006 („MySQL Server Has Gone Away') fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!