nodejs mysql 错误:连接丢失 服务器关闭了连接

2024-04-09

当我使用node mysql时,在12:00到2:00之间出现错误,TCP连接被服务器关闭。这是完整的消息:

Error: Connection lost: The server closed the connection.
at Protocol.end (/opt/node-v0.10.20-linux-x64/IM/node_modules/mysql/lib/protocol/Protocol.js:73:13)
at Socket.onend (stream.js:79:10)
at Socket.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:920:16
at process._tickCallback (node.js:415:13)

有的是solution https://github.com/felixge/node-mysql#server-disconnects。但是,我按照这种方式尝试后,问题也出现了。现在我不知道该怎么办了。有人遇到这个问题吗?

这是我按照解决方案编写的方式:

    var handleKFDisconnect = function() {
    kfdb.on('error', function(err) {
        if (!err.fatal) {
            return;
        }
        if (err.code !== 'PROTOCOL_CONNECTION_LOST') {
            console.log("PROTOCOL_CONNECTION_LOST");
            throw err;
        }
        log.error("The database is error:" + err.stack);

        kfdb = mysql.createConnection(kf_config);

        console.log("kfid");

        console.log(kfdb);
        handleKFDisconnect();
    });
   };
   handleKFDisconnect();

尝试使用这段代码 https://github.com/felixge/node-mysql#server-disconnects处理服务器断开连接:

var db_config = {
  host: 'localhost',
    user: 'root',
    password: '',
    database: 'example'
};

var connection;

function handleDisconnect() {
  connection = mysql.createConnection(db_config); // Recreate the connection, since
                                                  // the old one cannot be reused.

  connection.connect(function(err) {              // The server is either down
    if(err) {                                     // or restarting (takes a while sometimes).
      console.log('error when connecting to db:', err);
      setTimeout(handleDisconnect, 2000); // We introduce a delay before attempting to reconnect,
    }                                     // to avoid a hot loop, and to allow our node script to
  });                                     // process asynchronous requests in the meantime.
                                          // If you're also serving http, display a 503 error.
  connection.on('error', function(err) {
    console.log('db error', err);
    if(err.code === 'PROTOCOL_CONNECTION_LOST') { // Connection to the MySQL server is usually
      handleDisconnect();                         // lost due to either server restart, or a
    } else {                                      // connnection idle timeout (the wait_timeout
      throw err;                                  // server variable configures this)
    }
  });
}

handleDisconnect();

在你的代码中我错过了之后的部分connection = mysql.createConnection(db_config);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nodejs mysql 错误:连接丢失 服务器关闭了连接 的相关文章

随机推荐

  • PostgreSQL:.psql_history 到 /dev/null

    而不是应用一个 set HISTFILE对于每个可能的连接的命令 我们不希望有 psql history根本不 然而 psql 似乎不喜欢这样 ln s dev null psql history psql psql 8 4 8 postg
  • JavaScript 中的二维数组

    对于大学来说 我们有一个关于二维数组的问题需要解决 但是它们的性质从未在课堂上讨论过 我已经在这个网站上搜索答案 这可能在我的代码中很明显 但无法让它工作 甚至无法真正理解正在发生的事情或原因 确切的问题是 Write a program
  • 如何在使用 GDB 遍历代码时禁用 C++ 模板中的单步执行?

    我试图使用 GDB 遍历代码 而 GDB 总是尝试显示 C 模板源代码 这使得调试不方便并且浪费了我很多时间 GDB 尝试介入该函数 当它找不到实现模板的文件时 它会显示错误 或者它会跳转到我不想看到的模板代码 我找不到如何禁用显示 单步进
  • 从“usize”转换为“i32”与其他方式有什么区别?

    我正在创建一个函数 该函数生成一个大小为 n 的随机数数组 但我暂时的比较会引发错误 while ar len as i32 lt size 投诉内容 预计其中之一 lt or gt found 如果我删除as i32它抱怨mismatch
  • Flurry.h 的桥接标头不适用于 Pod

    我有一个现有的桥接头 当前包含多个 obj c pod 我在使用 Xcode 导入 Flurry 框架时遇到问题 Flurry h file not found 即使它已使用 Pod 正确插入 我的桥接标头目前看起来像 import
  • silverlight 文本转语音?

    现在有可用的 silverlight 文本转语音引擎吗 我正在寻找非常简单的文本到语音引擎 需要读出数字 我不想依赖任何网络服务 在最坏的情况下 我会录制一些号码的声音并将它们拼接在一起 任何指点都将受到高度赞赏 我的应用程序不需要在 MA
  • 如何确保在 .NET 中正确处理对象?

    我创建了一个Windows 窗体 http en wikipedia org wiki Windows Forms NET 2 中使用连续运行的 C 的应用程序 对于大多数帐户 我对此感到满意 但有人向我报告 它偶尔会失败 我能够在 50
  • 访问2007到exe

    我在 MS Access 2007 中有一个带有表单的数据库 我需要从访问创建一个独立的 exe 文件 是否可以 如果是这样 怎么办 您不能将其另存为 exe 但您可以使用允许没有访问权限的用户使用您的应用程序
  • 使用 CFExecute 运行 VBScript 会引发错误,但通过命令行可以正常工作

    我正在尝试运行 VBScript 但 CFExecute 抛出错误
  • Django:使用管理上下文扩展基于类的视图的上下文

    我有一个基于类的视图 它只显示配置列表 使用以下代码将此视图添加到 Django 管理站点 admin register ZbxHostConf class ZbxHostConfListViewAdmin admin ModelAdmin
  • MS Graph API:身份验证令牌无效

    我正在尝试使用 Microsoft Graph API 查询 Outlook O365 邮箱中的邮件 我注册我的应用程序 https graph microsoft io en us docs authorization app only在
  • 从 Intellisense 中隐藏(抽象)类

    我有几个抽象类是类库 想从 Intellisense 中隐藏 该怎么做 在类声明之前使用属性 Browsable false EditorBrowsable EditorBrowsableState Never edit 如果类代码在您的解
  • array[::-1] 的时间复杂度和空间复杂度是多少

    当在Python中反转列表时 我通常使用数组 1 进行反转 并且我知道更常见的方法可能是从列表的两侧进行交换 但我不确定这两种解决方案之间的区别 例如时间复杂度和空间复杂度 这两种方法的代码如下 def reverse array arra
  • 如何强制Delphi编译器显示所有提示和警告

    有没有办法强制Delphi编译器一直显示所有提示和警告 这是我目前在 Delphi 6 中看到的行为 从源代码管理中查看我的应用程序的最新副本 在Delphi中打开项目并编译 显示项目的所有提示和警告 更改一个单位 Compile 仅显示更
  • 图像交换按钮(Jquery)

    我有一个按钮 当单击它时 我想用图像替换该按钮 我怎样才能在 JQuery 中做到这一点 是否也可以替换图像的背景 按钮本身位于一个大 div 内 我不想在按钮周围添加另一个 div 因为它会弄乱以前的布局 如果你想替换按钮元素 the b
  • 在java中验证时间戳格式yyyy-MM-dd'T'HH:mm:ssZ?

    我正在尝试做一个时间戳验证使用乔达时间 1 6 2 请指出我的错误并帮助我 Code String timestamp 2014 09 23T23 03 11Z String datePattern yyyy MM dd T HH mm s
  • CreateProcess error=2 从 Ant 运行 javadoc

    谁能告诉我为什么会收到此错误消息 Buildfile C Users Tara workspace Testing build xml doc delete Deleting directory C Users Tara workspace
  • OS X 蓝牙编程

    我想创建 OS X 应用程序以通过蓝牙与 Lego Mindstorms NXT 2 0 配合使用 我尝试用 Objective C 和 Python 来实现 但是两者都存在一些问题 关于目标 C 我只发现this https develo
  • 如何在 R 中将多个文件 read.table() 放入单个表中?

    我有名为
  • nodejs mysql 错误:连接丢失 服务器关闭了连接

    当我使用node mysql时 在12 00到2 00之间出现错误 TCP连接被服务器关闭 这是完整的消息 Error Connection lost The server closed the connection at Protocol