MySQL 連接問題:“連接丟失:服務器關閉了連接”
問題:
在MySQL 中使用Node.js時,在特定時間出現「連線遺失:伺服器關閉連線」錯誤(通常在午夜到凌晨 2 點之間)。
解決方案:
請依照下列步驟解決此問題:
var db_config = { host: 'localhost', user: 'root', password: '', database: 'example' }; var connection; function handleDisconnect() { // Recreate the connection connection = mysql.createConnection(db_config); connection.connect(function(err) { if(err) { console.log('error when connecting to db:', err); setTimeout(handleDisconnect, 2000); // Delay before reconnecting } }); // Handling connection errors connection.on('error', function(err) { console.log('db error', err); if(err.code === 'PROTOCOL_CONNECTION_LOST') { handleDisconnect(); } else { throw err; } }); } handleDisconnect();
說明:
說明: 說明:說明:此程式碼片段建立與MySQL 的新連線發生斷線時的伺服器。 setTimeout 函數引入了延遲以防止熱循環,允許腳本在重新連接時處理其他請求。 錯誤處理程序配置為處理「PROTOCOL_CONNECTION_LOST」錯誤,這些錯誤通常在伺服器重新啟動期間發生。重新拋出其他錯誤,提供有關該問題的更詳細資訊。 呼叫handleDisconnect()函數來啟動錯誤處理和重新連接過程。以上是為什麼我的 Node.js MySQL 連線在午夜和凌晨 2 點之間失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!