Heim >Datenbank >MySQL-Tutorial >Warum führt meine lange laufende MySQL-Abfrage nach 60 Sekunden zu der Fehlermeldung „MySQL Server has Gone Away'?

Warum führt meine lange laufende MySQL-Abfrage nach 60 Sekunden zu der Fehlermeldung „MySQL Server has Gone Away'?

Susan Sarandon
Susan SarandonOriginal
2024-12-20 16:03:10602Durchsuche

Why Does My Long-Running MySQL Query Result in a

MySQL Server ist nicht mehr verfügbar – Problem mit unerwarteter Zeitüberschreitung

Beim Ausführen einer lang andauernden Abfrage (120 Sekunden Ruhezustand) sind Benutzer auf ein Problem gestoßen Problem, bei dem der Prozess mit der Fehlermeldung „MySQL-Server ist nicht mehr verfügbar“ fehlschlägt. Dies geschieht nach genau 60 Sekunden. Das Problem besteht sowohl unter Windows Server 2003 als auch unter MySQL 5.1.36-Community weiterhin.

Schritte zur Fehlerbehebung

Der Benutzer hat verschiedene Fehlerbehebungsmaßnahmen ausprobiert, einschließlich der Anpassung der Einstellung „wait_timeout“. 28800 Sekunden und Neustart des Datenbankservers und der Maschine. Trotz dieser Bemühungen besteht der Zeitüberschreitungsfehler weiterhin.

Mögliche Ursache

Das Problem scheint eher mit einer Einstellung als mit einem Ressourcenmangel zusammenzuhängen, da die Zeitüberschreitungen regelmäßig auftreten die 60-Sekunden-Marke.

Lösung

Das Problem liegt vor aus der PHP-Option mysql.connect_timeout. Während sein Hauptzweck darin besteht, das Verbindungszeitlimit anzugeben, bestimmt es auch die Zeit, die für die erste Serverantwort zulässig ist. Um das Problem zu beheben, muss der Benutzer diesen Timeout-Wert wie folgt erhöhen:

ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);

Durch die Festlegung dieser Werte auf 300 Sekunden (5 Minuten) wartet das System länger auf Serverantworten, bevor es zu einer Zeitüberschreitung kommt . Dadurch kann die lang laufende Abfrage erfolgreich abgeschlossen werden.

Das obige ist der detaillierte Inhalt vonWarum führt meine lange laufende MySQL-Abfrage nach 60 Sekunden zu der Fehlermeldung „MySQL Server has Gone Away'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn