非アクティブな MySQL 接続の終了
多数の MySQL 接続が長期間にわたってアイドル状態のままであることがよく観察されます。このため、サービスを再起動せずに、サーバーからそのような接続を終了または閉じる方法について疑問が生じることがあります。
手動終了
1 つの方法は、アイドル状態を手動で終了することです。 KILL コマンドを使用して接続します。アイドル接続のプロセス ID を特定するには、次のクエリを実行します。
mysql> show full processlist;
プロセス ID がわかったら、次のコマンドで終了できます。
mysql> kill [process_id];
ただし、このメソッドは制限があります:
自動接続管理
あるいは、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 サイトの他の関連記事を参照してください。