【问题标题】:How to know if Node.JS Mysql connection is ended or not如何知道 Node.JS Mysql 连接是否结束
【发布时间】:2023-04-01 00:09:01
【问题描述】:

在其他 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);
            });

【问题讨论】:

    标签: mysql node.js database-connection


    【解决方案1】:

    有什么理由可以避免池化吗?池代码针对数据库服务器重新启动、连接超时和临时网络故障自动提供resilience。所有这些事情都出人意料地发生。

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

    【讨论】:

    • 没有。这只是为了提供信息。如果我们需要改变连接方式,我会尽快做,以便成功。谢谢你的回答。
    【解决方案2】:

    node.js 中没有方法可以让您知道连接是否关闭。 可能,你可以重新连接到你的服务器,当它被关闭时,你有一个错误 -> 没有与服务器的连接。

    【讨论】:

      猜你喜欢
      • 2014-09-20
      • 2016-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多