2017-04-20 47 views
0

我試圖使用promise-mysql(節點模塊)連接到一個MySQL實例,但它失敗,並且ECONNREFUSED。這是整個錯誤:如何獲得有關我的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 } 

我不知道爲什麼會發生這種情況。如何獲得有關連接被拒絕的更多信息?

有了「更多信息」我的意思是一樣的東西:

  • 這是因爲憑據無效?
  • 主機是否無法訪問?
  • 主機可以訪問,但MySQL服務器關閉了嗎?
  • 我們是否遇到MySQL連接限制?
  • 在我的電腦裏有侏儒試圖讓我生氣嗎?

回答

1
  1. 這是因爲證書無效?不,這會導致access denied錯誤消息。

  2. 我們是否遇到MySQL連接限制?不,這會導致too many connections錯誤消息。

  3. 主機無法訪問?主機是否可達,但MySQL服務器關閉了?是的,這兩者中的任何一個都會導致此錯誤消息。錯誤消息意味着客戶端甚至無法到達服務器(該錯誤由客戶端生成,前兩個錯誤消息由MySQL服務器生成)。

正如MySQL文檔can't connect to MySQL說:

The error (2003) Can't connect to MySQL server on 'server' (10061) indicates that the network connection has been refused. You should check that there is a MySQL server running, that it has network connections enabled, and that the network port you specified is the one configured on the server.

不幸的是,沒有告訴基礎上的錯誤信息,這些導致了錯誤的方式,你需要手動調查這一點。

0

我認爲主機可達,但MySQL服務器關閉。

檢查你的MySQL服務器主機和端口是否正確,並檢查是否能夠在本地訪問如MySQL在終端。

相關問題