如何知道 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 并捕获异常)来检测死连接。但是,当连接池会为您完成时,为什么要构建它并调试它呢?