您的位置:首页 > 数据库 > MySQL

关于nodejs中遇到mysql默认8小时连接断开机制的终极简单解决方案

2020-07-14 04:45 183 查看

由于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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: