关于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);//循环执行
原文地址:https://www.cnblogs.com/juehai/p/9592413.html