2

我无法运行服务器......我收到错误消息ECONNREFUSED

如何解决此错误!

当我尝试使用不同的端口时....都给了我同样的错误!

ubuntu@ip-MyIP:~/rainmelon/projects/FindMyBuffet$ node app.js
Express server listening on port 7005

Error: connect ECONNREFUSED
    at errnoException (net.js:884:11)
    at Object.afterConnect [as oncomplete] (net.js:875:19)
    --------------------
    at Handshake.Sequence (/home/ubuntu/rainmelon/projects/FindMyBuffet/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:20)
    at new Handshake (/home/ubuntu/rainmelon/projects/FindMyBuffet/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12)
    at Protocol.handshake (/home/ubuntu/rainmelon/projects/FindMyBuffet/node_modules/mysql/lib/protocol/Protocol.js:42:50)
    at Connection.connect (/home/ubuntu/rainmelon/projects/FindMyBuffet/node_modules/mysql/lib/Connection.js:73:18)
    at Object.<anonymous> (/home/ubuntu/rainmelon/projects/FindMyBuffet/app.js:15:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
4

3 回答 3

5

回溯说明异常来自哪里:

Error: connect ECONNREFUSED
    at errnoException (net.js:884:11)
    at Object.afterConnect [as oncomplete] (net.js:875:19)
    --------------------
    ...
    at Connection.connect (.../node_modules/mysql/lib/Connection.js:73:18)
-->                                         ^^^^^
    at Object.<anonymous> (/home/ubuntu/rainmelon/projects/FindMyBuffet/app.js:15:12)
-->                                                                     ^^^^^^^^^

所以你的应用程序无法连接到 MySQL。

这通常归结为 MySQL 驱动程序配置中的主机名/端口名不正确,MySQL 服务器未运行,或者您的 MySQL 服务器未配置为侦听 TCP 套接字。见这里

于 2013-10-01T09:10:37.737 回答
0

您的 mysql 进程已关闭,这意味着它没有运行。您需要重新启动 mysql 进程(更改端口无济于事)。要解决此问题,您需要重新启动它。您可以执行以下任何操作:

  1. 您可以启动 wamp 或 xamp 服务器,它会自动启动该过程。
  2. 或者您可以打开命令行提示符并手动启动它,如 "c:\wamp\bin\mysql\mysql5.5.24\bin\mysqld.exe"

请注意,使用第二种方法需要知道 wamp 文件夹的确切位置,就像我在顶部使用的一样。(带引号)

于 2015-02-24T14:31:46.910 回答
-1

您可以执行 anetstat来找出端口上运行的进程的 pid,7005然后forceful kill使用得到的 pid 进行 a。

喜欢

 netstat -plten |grep 7005
 kill -9 16085

其中 16085 是从 prev 命令获得的 pid。并重新启动 express 应用程序。

参考

如何杀死Linux中特定端口上运行的进程?

于 2013-10-01T07:43:24.870 回答