2017-11-11 179 views
0

我试图在Ubuntu虚拟机上启动我的Node.JS应用程序。该应用程序使用MySQL。当我运行该应用程序时,出现以下有关我认为是MySQL的错误。Ubuntu 16.04 Node.JS应用程序无法连接到MySQL数据库 - 错误:连接ECONNREFUSED

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 version: 8.4.0
NPM version: 5.3.0
MySQL version: 5.4.2
Ubuntu: 16.04

我不确定我做错了什么来得到这个错误,但如果有人知道为什么,请让我知道。非常感谢!

回答

0

Got it!我的简单修复方法是将IP更改为localhost。我以前只使用标准的公共IP。