為什麼我的 Node.js MySQL 應用程式在空閒時間後會收到'read ECONNRESET”錯誤?

Mary-Kate Olsen
發布: 2024-11-20 03:27:02
原創
167 人瀏覽過

Why do I get a

MySQL 在Node.js 伺服器空閒時間後讀取ECONNRESET 錯誤

透過node-mysql 與MySQL 互動的Node.js 應用程式常遇到空閒時間後出現「read ECONNRESET」錯誤。此問題提示幾個問題:

1。 Node 與 MySQL 伺服器的連線斷開?

是的,該錯誤表示 Node 和 MySQL 伺服器之間斷開連接。 MySQL 有一個「wait_timeout」變量,用於確定關閉連線之前的空閒時間限制。預設為 8 小時。

2.連線池無法處理斷線?

雖然node-mysql使用連接池,但它不會自動修剪斷開的連接。在嘗試查詢之前,該問題可能不會被發現。

3.探索其他錯誤來源?

雖然「read ECONNRESET」錯誤很常見,但值得排除 MySQL 以外的其他潛在原因。

解決方案:

解決這個問題問題:

  1. 增加wait_timeout:
  2. 增加wait_timeout:將SQLSQL的“waittimeout”設定為更高的值(例如28800秒)以防止連線被終止。
  3. 實現心跳:
  4. 定期執行查詢,如「SELECT 1;」以保持連接有效。或者,使用帶有“idleTimeoutMillis”選項的節點池模組。
  5. 使用連接池:
像節點池這樣的連接池可以自動修剪空閒連接,確保維護活動連接。 🎜>

以上是為什麼我的 Node.js MySQL 應用程式在空閒時間後會收到'read ECONNRESET”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板