关于nodejs中遇到mysql默认8时辰三番五次断开机制的顶点简单解决方案

var cnt=0;
var conn=function(){
    connection.query('USE '+ db);     //查询MySQL中数据库
    cnt++;
    console.log("Mysql重连接成功! 次数:"+cnt);
}


//conn;
    setInterval(conn, 60*1000);//循环执行

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

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

 

 

将那2个参数设置为24小时(60*60*24=604800)即可。  set
interactive_timeout=604800;  set wait_timeout=604800; 

由于mysql默许8小时一连无访问,就会断开.为此查了瞬间素材,有同种相比不难的缓解方案:

但照样并不完善,一旦超过这一个日子没有连接,依然会报错.为此我设计了第两种方案,防止超时,以期终极解决

2.定时访问数据库,在逾期以内访问mysql,就可以幸免mysql断开连接

相关文章