我目前正在開發一個使用NodeJS的應用程序。NodeJs mysql錯誤ETIMEDOUT
但是,服務器往往會拋出這個錯誤,我無法與mysql進行交互。
[Error: read ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read', fatal: true } { [Error: Cannot enqueue Query after fatal error.] code: 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR', fatal: false }
有人有一個解決方案,以定勢呢?
感謝
你嘗試只是重新連接(假設的問題是,連接丟失)? – mscdex
這實際上是兩個單獨的錯誤。 對於第二種情況,這是正常行爲,因爲一旦發生致命錯誤時您嘗試在連接上進行查詢時就會發生這種情況。 您可能正在調用連接上的某個方法,如之前在代碼中的查詢,並且意外不會檢查返回的錯誤。另一種可能性是您正在檢查錯誤,但不檢查err.fatal是否爲true並放棄連接。 – Gary
嘿,你可能已經在一些其他文件中建立了連接,你必須在app.js中需要這些文件,並且會在app.js或任何其他你也包含的文件中執行查詢。在連接之前或在連接對象中發生錯誤之後,您仍然在進行查詢。 –