node连接mysql,刚开始运行一切正常,后来连接失败报错。
生活随笔
收集整理的這篇文章主要介紹了
node连接mysql,刚开始运行一切正常,后来连接失败报错。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前寫了個小程序Node News,用到了MySQL數據庫,在本地測試均沒神馬問題。放上服務器運行一段時間后,偶然發現打開頁面的時候頁面一直處于等待狀態,直到Nginx返回超時錯誤。于是上服務器檢查了遍,發現程序仍然在運行,且能正確記錄每次的請求,再修改代碼跟蹤調試,原來是在查詢數據庫的時候,回調一直沒有被執行,程序就掛在那里了。
想了很久也想不明白為神馬mysql模塊沒有執行回調,最后突然想起來去看了下錯誤日志,才發現有個“No reconnection after connection lost”錯誤沒有被捕捉到,原來是連接丟失了,上github上看了下文檔和issues,上面說到連接丟失后不會自動重新連接,會觸發error事件。我趕緊給程序添加了斷線后自動重連功能,現在已正常運行了10多天。
MySQL中有一個名叫wait_timeout的變量,表示操作超時時間,當連接超過一定時間沒有活動后,會自動關閉該連接,這個值默認為28800(即8小時)。
參考這個文檔
最近遇到node連接mysql 比較坑的一個問題。發現一篇很好的博客,轉載一下。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的node连接mysql,刚开始运行一切正常,后来连接失败报错。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于JVisualVM的可视化监控
- 下一篇: HTTP系列学习(笔记三):HTTP的发