Was verursacht "verlorene Verbindung zum MySQL -Server während der Abfrage" Fehler?
Dieser Fehlertyp tritt auf, wenn die Verbindung zwischen einem Client und dem Server den angegebenen Zeitlimitwert überschreitet.
Wenn Sie beispielsweise eine lange Abfrage haben, die die Ausführung lange dauert, lässt MySQL die Verbindung zum Server fallen.
Nehmen wir zum Beispiel beim Exportieren einer großen Datenbank, abhängig von der Exportmethode und den zu exportierenden Daten, eine lange Zeit dauern, bis dieser Vorgang abgeschlossen ist. Um die Probleme auf dem Server zu verhindern, kann MySQL diese Verbindung vor dem Abschluss des Vorgangs beenden.
Eine weitere häufige Ursache für diese Art von Fehler ist der komplexe Join -Operationen.
MySQL Show Timeout Value
Wie bereits erwähnt, können Sie diesen Fehlertyp beheben, indem Sie einfach die Zeitüberschreitungsdauer auf der Serverseite erhöhen.
Die Zeitüberschreitungswerte werden in den Variablen wait_timeout und interactive_timeout gespeichert. Wir können die aktuellen Werte abrufen, wie in den folgenden Abfragen gezeigt:
MySQL> Globale Variablen wie 'interactive_timeout' anzeigen;Die resultierende Ausgabe ist wie folgt:
+---------------------+-------+Das angegebene Ergebnis zeigt den Standardwert der Variablen interactive_timeout. Dieser Wert definiert die Dauer in Sekunden, dass der Server auf einer aktiven Sitzung auf eine Aktivität wartet.
Wir können auch den Wert von Wait_Timeout -Variable als:
MySQL> Globale Variablen wie 'Wait_timeout' anzeigen;Resultierende Tabelle:
+---------------+-------+Diese Variable legt die Dauer fest, dass der MySQL-Server in einer nicht interaktiven Sitzung auf eine Aktivität wartet.
Beheben Sie MySQL Lost Verbindungsfehler durch Aktualisierung der Zeitüberschreitungsvariablen
Um diesen Fehlertyp zu beheben, können wir die Werte der beiden zuvor diskutierten Variablen aktualisieren. Wir können die Abfrage wie im Folgenden gezeigt ausführen:
MySQL> set @@ Global.interActive_timeout = 43200;Der vorherige Befehl sollte den Wert der Variablen interactive_timeout auf 43200 Sekunden aktualisieren.
Um den Parameter wait_timeout zu aktualisieren, führen Sie den folgenden Befehl aus:
MySQL> set @@ Global.wait_timeout = 43200;Du bist fertig. Sie können versuchen, Ihre zeitgesteuerte Abfrage erneut zu beenden.
Abschluss
In diesem Beitrag haben wir die Ursache des Verbindungsverlusts bei der Arbeit mit MySQL und den Schritten besprochen, die Sie ausführen können, um sie zu beheben. Beachten Sie jedoch Ihre Fragen oder unterscheiden Sie sie in effiziente Blöcke.
Danke fürs Lesen und glücklicher Codierung!