mysql - 如何在 OpenShift 中使用 NodeJS 服务器连接到 MySQL?

标签 mysql node.js openshift

我正在尝试使用 Node JS 服务器连接到 OpenShift 中的 MySQL 数据库。 我有一个错误:

Error: connect ECONNREFUSED 127.0.0.1:3306
    at Object.exports._errnoException (util.js:870:11)
    at exports._exceptionWithHostPort (util.js:893:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1057:14)
    --------------------
    at Protocol._enqueue (D:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:141:48)
    at Protocol.handshake (D:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:52:41)
    at Connection.connect (D:\nodejs\node_modules\mysql\lib\Connection.js:123:18)
    at Object.<anonymous> (D:\nodejs\server.js:17:12)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)

这是我的代码:

var connection = mysql.createConnection({
  host     : process.env.OPENSHIFT_MYSQL_DB_HOST,
  user     : process.env.OPENSHIFT_MYSQL_DB_USERNAME,
  password : process.env.OPENSHIFT_MYSQL_DB_PASSWORD,
  port     : process.env.OPENSHIFT_MYSQL_DB_PORT,
  database : process.env.OPENSHIFT_APP_NAME
 });

connection.connect(function(err){
  if (err) {throw err;}
});

我阅读了很多有关此错误的信息,但没有找到解决方案。 我可以使用 ssh 连接到 MySQL,并且还可以检查这些环境变量。

HOST 为 127.9.156.2,NODEJS_IP 为 127.9.156.1。端口是3306。 PASS 和 USER 也可以。

哪里有问题?

最佳答案

这很可能是由两个不同的问题引起的。其中之一是端口错误或者MySQL实例正在尝试连接到已经繁忙的端口。如果这是造成这种情况的原因,您需要更改它。

另一个问题更有可能是默认情况下 MySQL 仅允许 127.0.0.1 连接。您必须进入 MySQL 的配置文件并将其设置为允许其他主机连接,这里是有关如何执行此操作的文档的链接。 http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_bind-address .

关于mysql - 如何在 OpenShift 中使用 NodeJS 服务器连接到 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36248055/

相关文章:

kubernetes - 备份和恢复 Kubernetes Serviceaccount Token

MySQL 两个不同字符串之间的子字符串,其中第二个针出现在第一个针之后

mysql inner join查询3个表

javascript - 当我们已经准备好后端时,为什么我们需要 Express 服务器

android - 通过node/express js同步本地android数据库

dns - CNAME 设置显示 'Bad Request (400)'

php - 测试期间达到的最大连接 MySql

.net - 我需要将 MySQL 数据类型映射到 .net (CLR) 数据类型

javascript - 新的react版本的语法是什么

openshift - rhc 设置未定义方法 `[]' 为 nil :NilClass