Beenden inaktiver MySQL-Verbindungen
Es kommt häufig vor, dass zahlreiche MySQL-Verbindungen über längere Zeiträume inaktiv bleiben. Dies kann Fragen dazu aufwerfen, wie solche Verbindungen vom Server beendet oder geschlossen werden können, ohne den Dienst neu starten zu müssen.
Manuelle Beendigung
Ein Ansatz besteht darin, den Leerlauf manuell zu beenden Verbindungen mit dem KILL-Befehl. Um die Prozess-ID für die inaktive Verbindung zu identifizieren, führen Sie die folgende Abfrage aus:
mysql> show full processlist;
Sobald die Prozess-ID bekannt ist, kann sie beendet werden mit:
mysql> kill [process_id];
Allerdings ist diese Methode hat Einschränkungen:
Automatische Verbindungsverwaltung
Alternativ kann die Konfiguration der Timeout-Einstellungen von MySQL die Beendigung inaktiver Verbindungen automatisch behandeln. Durch Reduzieren der Werte „wait_timeout“ und „interactive_timeout“ schließt MySQL automatisch Verbindungen, die für eine bestimmte Dauer inaktiv bleiben. Um diese Einstellungen anzupassen, führen Sie die folgenden Befehle aus:
mysql> show variables like "%timeout%"; mysql> set global wait_timeout=[new timeout value]; mysql> set global interactive_timeout=[new timeout value];
Es ist wichtig zu beachten, dass dieser Ansatz zwar das Symptom inaktiver Verbindungen behebt, die zugrunde liegende Ursache jedoch nicht behebt. Es wird empfohlen, zu untersuchen, warum Verbindungen offen bleiben, und zu prüfen, ob Verbindungspooling vom Webserver verwendet wird.
Das obige ist der detaillierte Inhalt vonWie kann ich inaktive MySQL-Verbindungen ohne Neustart beenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!