この記事では主に、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 サイトの他の関連記事を参照してください。