ホームページ  >  記事  >  データベース  >  非アクティブな MySQL 接続を再起動せずに終了するにはどうすればよいですか?

非アクティブな MySQL 接続を再起動せずに終了するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-08 14:21:02823ブラウズ

How to Terminate Inactive MySQL Connections Without Restarting?

非アクティブな MySQL 接続の終了

多数の MySQL 接続が長期間にわたってアイドル状態のままであることがよく観察されます。このため、サービスを再起動せずに、サーバーからそのような接続を終了または閉じる方法について疑問が生じることがあります。

手動終了

1 つの方法は、アイドル状態を手動で終了することです。 KILL コマンドを使用して接続します。アイドル接続のプロセス ID を特定するには、次のクエリを実行します。

mysql> show full processlist;

プロセス ID がわかったら、次のコマンドで終了できます。

mysql> kill [process_id];

ただし、このメソッドは制限があります:

  • PHP アプリケーションは接続終了時にエラーを報告することがあります。
  • 接続が不足していない場合は、不必要に接続を終了しないことをお勧めします。

自動接続管理

あるいは、MySQL のタイムアウト設定を構成することで、アイドル状態の接続の終了を自動的に処理できます。 wait_timeout と interaction_timeout の値を減らすことにより、MySQL は、指定された期間非アクティブなままになっている接続を自動的に閉じます。これらの設定を調整するには、次のコマンドを実行します。

mysql> show variables like "%timeout%";
mysql> set global wait_timeout=[new timeout value];
mysql> set global interactive_timeout=[new timeout value];

このアプローチはアイドル状態の接続の症状には対処しますが、根本的な原因は解決しないことに注意することが重要です。接続が開いたままになる理由を調査し、Web サーバーで接続プーリングが使用されているかどうかを検討することをお勧めします。

以上が非アクティブな MySQL 接続を再起動せずに終了するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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