【问题标题】:Node.js application crashes with mysqlNode.js 应用程序与 mysql 一起崩溃
【发布时间】:2013-08-12 15:50:00
【问题描述】:

我将 node.js 用于应用程序,我还使用 mysql 来允许用户在应用程序上进行连接。

我在本地使用该应用程序,它运行良好,没有崩溃,没什么不好。

今天我尝试将js服务器放在我的专用服务器上,将客户端放在我的web服务器上。

现在它已上传,我尝试启动服务器,但几秒钟后它因这些回溯而崩溃:

events.js:48

    throw arguments[1]; // Unhandled 'error' event

Error: Connection lost: The server closed the connection.
    at Protocol.end (/root/node_modules/mysql/lib/protocol/Protocol.js:73:13)
    at Socket.onend (stream.js:80:10)
    at Socket.emit (events.js:88:20)
    at TCP.onread (net.js:388:51)

连接代码很简单:

var mysql = require('mysql');
var connection = mysql.createConnection({
    host : 'hostname',
    user : 'username',
    password : 'password',
    database : 'database',
});
connection.connect();

我尝试在连接后向我的数据库添加一列,它工作正常,我的数据库与 js 服务器位于不同的服务器上,接受连接并添加列。

我不知道为什么我在本地工作时没有这些错误...

【问题讨论】:

  • 你能试试这个connection.connect(function(err) { console.log(err); });看看你是否打印了任何错误
  • 我刚刚打印了一个“null”,然后服务器在一段时间后崩溃了。
  • 你用的是什么 NPM 模块?
  • 我正在使用 mysql、MD5 和 socket.io
  • 由于 MySQL 服务器似乎明确地关闭了连接,它可能会在某处记录原因。检查您的 MySQL 服务器日志文件。

标签: javascript mysql node.js


【解决方案1】:

检查您的 MySQL 服务器上打开的连接。我有一个类似的问题,问题是我没有释放连接。因此,当打开的连接数达到我的 150 个连接限制时,它会崩溃。要检查打开的连接数,请使用:

select * from information_schema.processlist;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-15
    • 2012-03-18
    • 2013-10-06
    • 2011-04-27
    • 2014-01-14
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    相关资源
    最近更新 更多