如何知道Node.JS Mysql连接是否结束



在其他VPS中,我有一个远程数据库服务,它每天早上6点重新启动。不幸的是,这会导致即时MySQL连接关闭。有没有办法知道连接是否已经结束?

:

connection.isEnd();

我连接到我的数据库没有池连接。例:

const connection = mysql.createConnection({
host     : _this.config.mysql.database.ip,
user     : _this.config.mysql.database.username,
password : _this.config.mysql.database.password,
database : _this.config.mysql.database.db
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
_this.bdd = connection;
resolve(_this);
});

是否存在避免池化的原因?池代码自动提供针对数据库服务器重启、连接超时和临时网络故障的弹性。所有这些事情都是不可预测的。

您可以通过运行一些简单的SQL语句(如SELECT 1)并捕获异常来检测死连接。但是,当连接池为您做这些时,为什么要构建并调试它呢?

在node.js中没有方法,可以让您知道连接是否关闭。也许,您可以重新连接到服务器,当它被拒绝时,您会遇到一个错误->与服务器没有连接。

最新更新