Dieser Artikel stellt hauptsächlich die Methode zum Löschen toter MySQL-Verbindungen in PHP vor. Er implementiert die Überprüfungs- und Löschfunktion für MySQL-tote Links durch regelmäßiges Ausführen von PHP-Skripten. Das Hauptsymptom ist, dass zu viele Schlafverbindungen vorhanden sind und die Zeit sehr lang ist und alle verfügbaren Verbindungen belegt, sodass andere Benutzer keine Verbindung mehr zur Datenbank herstellen können. Ich begann darüber nachzudenken, die MySQL-Datenbankparameter anzupassen, änderte jedoch viele Parameter und löste das Problem immer noch nicht. Deshalb habe ich mir eine rücksichtslosere Möglichkeit überlegt, ein PHP-Skript zu schreiben und es alle 2 Minuten auszuführen. Wenn eine tote Verbindung gefunden wird (länger als 120 Sekunden), wird sie auf diese Weise beendet. Das Folgende ist Kill Small-Programm für tote Verbindungen:
kill-mysql-sleep-proc.php:
define('MAX_SLEEP_TIME',120); $hostname="localhost"; $username="root"; $password="password"; $connect=mysql_connect($hostname,$username,$password); $result=mysql_query("SHOWPROCESSLIST",$connect); while($proc=mysql_fetch_assoc($result)){ if($proc["Command"]=="Sleep"&&$proc["Time"]>MAX_SLEEP_TIME){ @mysql_query("KILL".$proc["Id"],$connect); } } mysql_close($connect); ?>
Ändern Sie $password darin in Ihr tatsächliches Datenbankpasswort auch geändert werden. Fügen Sie dann einfach die geplante Aufgabe hinzu. Verwenden Sie beispielsweise den Befehl crontab-e, um Folgendes hinzuzufügen:
*/2****php/usr/local/sbin/kill-mysql-sleep-proc.php
, um alle 2 Minuten tote Verbindungen in der Datenbank zu überprüfen und zu löschen
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, I Ich hoffe, es kann für das Studium aller hilfreich sein.
Verwandte Empfehlungen:
Detaillierte Erläuterung des Funktionsfalls der PHP-CURL-Methode „curl_setopt()“Detaillierte Erläuterung des regelmäßigen PHP-Abgleichs von Datum und Zeitstempel Konvertierungsfallphp Detaillierte Erläuterung der Beispiele für ternäre Operatoren
Das obige ist der detaillierte Inhalt vonSo löschen Sie tote MySQL-Verbindungen basierend auf PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!