web-dev-qa-db-ja.com

MySQLのデフォルトのwait_timeoutは28800ですが、私のサーバーではそれ以上の値を見ることができます

私はAWS MySQL Auroraを使用しており、現在のwait_timeoutはデフォルトの28800であり、interactive_waitimeoutはまた、28800。

しかし、私はデフォルト値以上のものを見ることができます。

enter image description here

2
Bhuvanesh

ああ!これは、アプリケーションフレームワークがDBへの接続を作成するときに渡された値を使用して、セッションレベルにwait_timeoutまたはinteractive_timeoutを設定している場合がありますこれにより、デフォルトのmysql設定が上書きされます

任意のテスト環境で一般的なログを有効にし、そのアプリケーションがそのDBを指すようにする場合。そのような値を設定するwait_timeoutまたはinteractive_timeoutが見つかります。

短期間の修正:

  • 毎分実行されるcronとして、スリープ状態の500秒を超える接続を強制終了することを検討する場合があります。

永続的な修正:

  • デフォルト値をDBに渡さないようにして、アプリケーションチームにコードを修正してもらいます。
  • アプリが修正されたら、毎分killするcronを削除します。
1
Mannoj