Ubuntu 16.04 Node.JS应用程序无法连接到MySQL数据库 - 错误:连接ECONNREFUSED
问题描述:
我试图在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
我不确定我做错了什么来得到这个错误,但如果有人知道为什么,请让我知道。非常感谢!
答
Got it!我的简单修复方法是将IP更改为localhost
。我以前只使用标准的公共IP。