如何知道 Node.JS Mysql 连接是否结束
How to know if Node.JS Mysql connection is ended or not
在其他 VPS 中,我有一个远程数据库服务,它每天早上 6:00 重新启动。不幸的是,这会导致即时 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);
});
node.js 中没有方法让您知道连接是否关闭。
也许,你可以重新连接到你的服务器,当它被关闭时,你有一个错误 -> 没有与服务器的连接。
是否有理由避免合并?池代码自动提供 resilience 防止数据库服务器重新启动、连接超时和临时网络故障。所有这些事情都出乎意料地发生。
您可以通过 运行 一些琐碎的 SQL 语句(例如 SELECT 1
并捕获异常)来检测死连接。但是,当连接池会为您完成时,为什么要构建它并调试它呢?
在其他 VPS 中,我有一个远程数据库服务,它每天早上 6:00 重新启动。不幸的是,这会导致即时 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);
});
node.js 中没有方法让您知道连接是否关闭。 也许,你可以重新连接到你的服务器,当它被关闭时,你有一个错误 -> 没有与服务器的连接。
是否有理由避免合并?池代码自动提供 resilience 防止数据库服务器重新启动、连接超时和临时网络故障。所有这些事情都出乎意料地发生。
您可以通过 运行 一些琐碎的 SQL 语句(例如 SELECT 1
并捕获异常)来检测死连接。但是,当连接池会为您完成时,为什么要构建它并调试它呢?