繁体   English   中英

如何处理 NodeJS 上的 MySQL 断开连接?

[英]How can I handle MySQL disconnection on NodeJS?

首先,我是 NodeJS 的初学者。 好吧,我对我的项目使用共享主机,当数据库达到 1 分钟不活动时,NodeJS 崩溃并断开我与 MySQL 的连接。 由于我使用的是共享主机,我无法在 MySQL 配置上编辑空闲时间,我需要在代码中处理它。

我正在使用module.exports来处理我的连接,如下所示。 那么如何制作自动重新连接脚本来解决我的问题呢? 谢谢你。

var mysql = require('mysql');

module.exports =
{
handle: null,

connect: function(call){
    this.handle = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : '',
        database : 'test',
        timezone: 'utc',
        charset : 'utf8'
    });

    this.handle.connect(function (err) {
        if(err) {
            console.log("[MySQL] Connection error: " + err.code);
        } else {
            console.log("[MySQL] Successfully connected");
        }
    });
  }
};

您正在使用的节点 mysql 模块也具有连接池机制。

https://github.com/mysqljs/mysql#pooling-connections查看文档

连接池将使您的任务更轻松。 然后您可以存储连接池对象并使用其getConnection方法来获取连接。 确保在完成连接后释放连接。

如果由于某种原因您不能使用连接池,那么您将不得不监听连接上的error事件并相应地处理它。 但我强烈建议您使用连接池。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM