ホームページ > データベース > mysql チュートリアル > MySQL 接続がアイドル状態になった後、Node.js で「read ECONNRESET」エラーが発生するのはなぜですか?

MySQL 接続がアイドル状態になった後、Node.js で「read ECONNRESET」エラーが発生するのはなぜですか?

Susan Sarandon
リリース: 2024-11-12 04:27:02
オリジナル
686 人が閲覧しました

Why am I getting

アイドル時間後の Node.js での MySQL "read ECONNRESET" エラー

node-mysql モジュール経由で MySQL に接続するときに、次のような問題が発生する可能性がありますサーバーを長時間アイドル状態にしておくと、「read ECONNRESET」エラーが発生します。このエラーは、MySQL のアイドル接続プルーニング メカニズムが原因である可能性がある、接続のリセットを示します。

問題の診断:

  • 接続の切断:このエラーは、ノードの接続と MySQL サーバーの間の切断を示唆しています。これは、MySQL 変数「wait_timeout」設定 (デフォルトは 8 時間) が原因である可能性があります。
  • 接続プールの問題: Node-mysql は、接続プールを使用して切断を処理し、非アクティブな接続を削除します。ただし、クエリを作成するまで切断された接続をプルーニングできない場合があり、これによりエラーがトリガーされます。
  • 外部要因: 一方、「read ECONNRESET」エラーは MySQL に関連付けられていることがよくあります。 、接続損失の原因となる潜在的な外部要因がないか確認することを検討してください。

エラーの解決:

  • 待機タイムアウトを増やす: MySQL の「wait_timeout」変数を 28,800 秒 (8 時間) などの長い期間に設定します。これにより、切断することなく、非アクティブな状態が長時間続くことが可能になります。
  • プール プルーニングを使用する: コードにハートビート メカニズムを実装して、SELECT 1 を定期的に送信します。データベースにクエリを実行し、接続を維持します。
  • アイドル タイムアウトを強調する: ノード プール モジュールの idleTimeoutMillis オプションを使用して、アイドル状態の接続を自動的にプルーニングし、問題の発生を防ぎます。

以上がMySQL 接続がアイドル状態になった後、Node.js で「read ECONNRESET」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート