關於nodejs中遇到mysql默認8小時連接斷開機制的終極簡單解決方案


由於mysql默認8小時連接無訪問,就會斷開.為此查了一下資料,有同種比較簡單的解決方案:

1. 增加 MySQL 的 wait_timeout 屬性的值。 

修改 /etc/mysql/my.cnf文件,在 [mysqld] 節中設置: 
# Set a connection to wait 8hours in idle status.  wait_timeout =86400 

將這2個參數設置為24小時(60*60*24=604800)即可。  set interactive_timeout=604800;  set wait_timeout=604800; 

但仍然並不完美,一旦超過這個時間沒有連接,仍然會報錯.為此我設計了第二種方案,防止超時,以期終極解決

2.定時訪問數據庫,在超時之內訪問mysql,就可以避免mysql斷開連接

 

var cnt=0;
var conn=function(){
    connection.query('USE '+ db);     //查詢MySQL中數據庫
    cnt++;
    console.log("Mysql重連接成功! 次數:"+cnt);
}


//conn;
    setInterval(conn, 60*1000);//循環執行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM