Ubuntu 16.04 Node.JS应用程序无法连接到MySQL数据库 - 错误:连接ECONNREFUSED

时间:2017-11-11 01:52:09

标签: mysql node.js npm connection ubuntu-16.04

我试图在Ubuntu虚拟机上启动我的Node.JS应用程序。该应用程序使用MySQL。当我运行应用程序时,我得到以下错误,我将假设是MySQL。

events.js:182
      throw er; // Unhandled 'error' event
      ^

Error: connect ECONNREFUSED myIP:3306
    at Object._errnoException (util.js:1041:11)
    at _exceptionWithHostPort (util.js:1064:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1153:14)
    --------------------
    at Protocol._enqueue (/root/pub code test/node_modules/mysql/lib/protocol/Protocol.js:145:48)
    at Protocol.handshake (/root/pub code test/node_modules/mysql/lib/protocol/Protocol.js:52:23)
    at Connection.connect (/root/pub code test/node_modules/mysql/lib/Connection.js:130:18)
    at Object.<anonymous> (/root/pub code test/runTest.js:17:12)
    at Module._compile (module.js:573:30)
    at Object.Module._extensions..js (module.js:584:10)
    at Module.load (module.js:507:32)
    at tryModuleLoad (module.js:470:12)
    at Function.Module._load (module.js:462:3)
    at Function.Module.runMain (module.js:609:10)

这是我连接MySQL的代码:

var connection = mysql.createConnection ({
  host: "myIP",
  user: "root",
  password: "password",
  database: "dbname"
});

connection.connect()

出于安全考虑,我已经更换了密码,数据库和主机名,但我确实已经检查了所有这些以及用户名

  

Node.JS版本:8.4.0
  NPM版本:5.3.0
  MySQL版本:5.4.2
  Ubuntu:16.04

我不确定我做错了什么,但如果有人知道原因,请告诉我。非常感谢!

1 个答案:

答案 0 :(得分:0)

知道了!我的简单修复是将IP更改为localhost。我以前只使用标准的公共IP。