创建mysql池如何解决 8小时不响应数据库断开情况
发布于 9 年前 作者 bykege 4516 次浏览 最后一次编辑是 8 年前 来自 问答

程序如下:请问如何解决mysql8小时无请求自动断开的问题,应该在那个部分进行判断

var mysql = require(‘mysql’); var DB_NAME = ‘DB_name’;

var pool = mysql.createPool({ host : ‘localhost’, user : ‘root’, password : ‘123’, port: ‘3306’ });

pool.on(‘connection’, function(connection) { connection.query(‘SET SESSION auto_increment_increment=1’); });
pool.getConnection(function(err, connection) {

var useDbSql = "USE " + DB_NAME;
connection.query(useDbSql, function (err) {
     if (err) {
        console.log("USE Error: " + err.message);
        return;
     }
     console.log('USE succeed');
});

}

8 回复

easymysql 自带心跳

@captainblue2013 什么意思,亲

你这没释放连接啊,query完了之后 release()就ok了。 你说的8小时应该是mysql默认的从连接池回收连接对象的时间。

@imhered 不是,一个链接8小时没动,就会死掉,客户端不会自动感知

@captainblue2013 是啊。请问怎么做才能解决这个问题?

使用这个连接的时候先判断状态

@captainblue2013 好的,感谢

回到顶部