Heim >Datenbank >MySQL-Tutorial >Warum führt meine lange laufende MySQL-Abfrage nach 60 Sekunden zu der Fehlermeldung „MySQL Server has Gone Away'?
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!