由於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);//循環執行