Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie tote MySQL-Verbindungen basierend auf PHP

So löschen Sie tote MySQL-Verbindungen basierend auf PHP

墨辰丷
墨辰丷Original
2018-06-01 16:29:191539Durchsuche

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 Konvertierungsfall

php 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn