ホームページ  >  記事  >  バックエンド開発  >  PHP に基づいて MySQL のデッド接続をクリアする方法

PHP に基づいて MySQL のデッド接続をクリアする方法

墨辰丷
墨辰丷オリジナル
2018-06-01 16:29:191473ブラウズ

この記事では主に、PHP で MySQL のデッドコネクションをクリアする方法を紹介します。これは、PHP スクリプトを定期的に実行することで、MySQL のデッドリンクのチェックとクリア機能を実装します。これは、主に次のように表示されます。接続が多すぎるため、接続時間が非常に長くなり、使用可能な接続がすべて占有されるため、他のユーザーはデータベースに接続できなくなります。 MySQL データベースのパラメータを調整することを検討し始めましたが、多くのパラメータを変更しましたが、それでも問題は解決できませんでした。そこで私は、php スクリプトを作成し、2 分ごとにそれを実行するというより無慈悲な方法を考えました。これにより、一部のプログラムはデータベース サーバーを強制終了しなくなります。以下は、切断された接続のための Kill Small プログラムです:

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);
?>

その中の $password を実際のデータベースのパスワードに変更すると、切断された接続の時間も変更できます。次に、スケジュールされたタスクを追加するだけです。たとえば、crontab-e コマンドを使用して以下を追加します:

*/2****php/usr/local/sbin/kill-mysql-sleep-proc.php

データベース内の無効な接続を 2 分ごとに確認してクリアできます

概要: 上記がこの記事の全内容です。皆様のお役に立てば幸いです。学ぶ。

関連する推奨事項:

PHP の CURL メソッドcurl_setopt() 関数のケースの詳細

以上がPHP に基づいて MySQL のデッド接続をクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。