Maison > Article > développement back-end > Comment PHP gère les connexions mortes MySQL
Cet article présente principalement la méthode de suppression des connexions mortes MySQL en PHP. La fonction de vérification et de suppression des connexions mortes MySQL est réalisée en exécutant régulièrement des scripts PHP. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.
La principale manifestation de la situation de connexion est qu'il y a trop de connexions en veille et que le temps est très long, occupant toutes les connexions disponibles, de sorte que les autres utilisateurs ne peuvent plus se connecter à la base de données. J'ai commencé à envisager d'ajuster les paramètres de la base de données MySQL, mais j'ai modifié de nombreux paramètres et je n'ai toujours pas résolu le problème. J'ai donc pensé à une manière plus impitoyable d'écrire un script php et de l'exécuter toutes les 2 minutes. Si une connexion morte est trouvée (plus de 120 secondes), tuez-la. De cette façon, certains programmes ne tueront plus le serveur de base de données. Ce qui suit est le programme Kill Small pour une connexion morte :
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); ?>
Remplacez $password par le mot de passe réel de votre base de données et l'heure de la connexion morte sera également Peut être modifié. Ensuite, ajoutez simplement la tâche planifiée. Par exemple, utilisez la commande crontab-e pour ajouter :
*/2****php/usr/local/sbin/kill-mysql-sleep-proc.php
pour vérifier et effacer les connexions mortes dans la base de données toutes les 2 minutes
Recommandations associées :
Comment PHP génère un dictionnaire de données MySQL
Comment PHP résout le problème des données stockées MySQL tronquées en chinois
Explication détaillée sur l'exemple de troncature automatique super longue MySql
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!