node.js Mysql连接错误

时间:2018-06-19 17:39:29

标签: mysql node.js


我正在尝试使用以下代码将Node.js应用程序与MySQL数据库连接,该数据库可在远程服务器上很好地适用于另一个应用程序:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "www.<dnw>.com",
  port: <correct port number>,
  user: "<correct Username>",
  password: "<correct password>",
  database: "<correct databasename>"
});
con.connect(function(err) {
        if (err) 
        {
            throw err;
         }
      });

con.end();

执行时,我收到此错误消息

/home/akiku/node/dnwbot/main.js:49
            throw err;
            ^

Error: connect ECONNREFUSED 85.25.34.68:3306
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)
    --------------------
    at Protocol._enqueue (/home/akiku/node/dnwbot/node_modules/mysql/lib/protocol/Protocol.js:145:48)
    at Protocol.handshake (/home/akiku/node/dnwbot/node_modules/mysql/lib/protocol/Protocol.js:52:23)
    at Connection.connect (/home/akiku/node/dnwbot/node_modules/mysql/lib/Connection.js:130:18)
    at Object.<anonymous> (/home/akiku/node/dnwbot/main.js:46:9)
    at promises.push.Promise (/home/akiku/node/dnwbot/node_modules/telebot/lib/telebot.js:439:29)
    at new Promise (<anonymous>)
    at TeleBot.event (/home/akiku/node/dnwbot/node_modules/telebot/lib/telebot.js:432:32)
    at promise.then (/home/akiku/node/dnwbot/node_modules/telebot/lib/updates.js:92:33)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

我认为可能是这样:

  • 我通过phpmyAdmin中的SQL查询多次检查端口和主机。他们是正确的。
  • 然后我在Plesk中启用了 ANY 主机可以访问数据库。
  • 用户名和密码也正确。

应该做什么:

  • 显然只是连接到数据库。没什么。

您有什么线索吗?

2 个答案:

答案 0 :(得分:0)

检查您是否有权访问远程服务器数据库。尝试使用工作台或任何其他工具进行连接

答案 1 :(得分:0)

我终于找到了问题:服务器管理员在更深的服务器级别阻止了该端口,而该级别无法被Plesk访问。