In diesem Artikel wird hauptsächlich die Methode zum Löschen toter MySQL-Verbindungen in PHP vorgestellt. Die Funktion zum Überprüfen und Löschen toter MySQL-Verbindungen wird durch die regelmäßige Ausführung von PHP-Skripten realisiert. Ich hoffe, es hilft allen.
Der Hauptausdruck der Verbindungssituation besteht darin, 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 das Kill Small-Programm für eine unterbrochene Verbindung:
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 und die Uhrzeit von Eine tote Verbindung wird ebenfalls angezeigt. Kann 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 tote Verbindungen in der Datenbank alle 2 Minuten zu überprüfen und zu löschen
Verwandte Empfehlungen:
Wie PHP ein MySQL-Datenwörterbuch generiert
Wie PHP das Problem chinesischer verstümmelter gespeicherter MySQL-Daten löst
Detaillierte Erläuterung des Beispiels für eine superlange automatische Kürzung in MySql
Das obige ist der detaillierte Inhalt vonWie PHP mit toten MySQL-Verbindungen umgeht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!