我试图使用promise-mysql
(节点模块)连接到MySQL实例,但它失败了ECONNREFUSED
。这是整个错误:
{ Error: connect ECONNREFUSED 172.18.0.6:3306
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
--------------------
at Protocol._enqueue (/usr/src/app/node_modules/mysql/lib/protocol/Protocol.js:141:48)
at Protocol.handshake (/usr/src/app/node_modules/mysql/lib/protocol/Protocol.js:52:41)
at Connection.connect (/usr/src/app/node_modules/mysql/lib/Connection.js:130:18)
at connect (/usr/src/app/node_modules/promise-mysql/lib/connection.js:18:33)
at /usr/src/app/node_modules/promise-mysql/lib/connection.js:52:9
at Promise._execute (/usr/src/app/node_modules/bluebird/js/release/debuggability.js:300:9)
at Promise._resolveFromExecutor (/usr/src/app/node_modules/bluebird/js/release/promise.js:483:18)
at new Promise (/usr/src/app/node_modules/bluebird/js/release/promise.js:79:10)
at new connection (/usr/src/app/node_modules/promise-mysql/lib/connection.js:51:12)
at Object.exports.createConnection (/usr/src/app/node_modules/promise-mysql/index.js:6:12)
at Context.<anonymous> (/usr/src/app/test/default-parameters.test.js:9:10)
at callFn (/usr/src/app/node_modules/mocha/lib/runnable.js:345:21)
at Hook.Runnable.run (/usr/src/app/node_modules/mocha/lib/runnable.js:337:7)
at next (/usr/src/app/node_modules/mocha/lib/runner.js:309:10)
at Immediate.<anonymous> (/usr/src/app/node_modules/mocha/lib/runner.js:339:5)
at runCallback (timers.js:666:20)
at tryOnImmediate (timers.js:639:5)
at processImmediate [as _immediateCallback] (timers.js:611:5)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '172.18.0.6',
port: 3306,
fatal: true }
我不知道为什么会这样。如何获取有关拒绝连接的原因的更多信息?
使用&#34;更多信息&#34;我的意思是:
答案 0 :(得分:1)
这是因为凭据无效吗?不,这会导致access denied错误消息。
我们是否达到了MySQL连接限制?不,这会导致too many connections错误消息。
主机无法访问?主机是否可以访问但MySQL服务器已关闭?是的,这两个中的任何一个都可能导致此错误消息。错误消息表示客户端甚至无法访问服务器(此错误由客户端生成,前两个错误消息由MySQL服务器生成)。
正如can't connect to MySQL上的MySQL文档所说:
错误(2003)无法连接到服务器上的MySQL服务器&#39; (10061)表示网络连接已被拒绝。您应检查是否有MySQL服务器正在运行,是否已启用网络连接,以及您指定的网络端口是否是服务器上配置的网络端口。
不幸的是,没有办法根据错误信息告诉哪些错误,你需要手动调查。
答案 1 :(得分:0)
我认为主机可以访问,但MySQL服务器已关闭。
检查您的MySQL服务器主机和端口是否正确,并检查是否能够在本地访问,例如终端中的MySQL。