mysql - 使用openshift在mysql数据库上访问被拒绝

标签 mysql node.js openshift

我正在尝试将我的 nodejs 应用程序部署到 openshift,但我在与 mysql 的通信方面遇到了一个特别烦人的问题。

我可以使用我的本地客户端通过端口转发(本地 127.0.0.1:3307 -> 127.11.255.130:3306)访问 mysql 数据库,并且我已经填充数据库没有问题。
然后我尝试使用我的 node.js 脚本访问数据库(在 openshift 中的同一域上运行):

  var connection  = mysql.createConnection({
    host     : '127.11.255.130',
    user     : 'usernameissued',
    password : 'passwordissued',
    database : 'cpapi'
  });

  connection.connect(); // blows up here
  connection.query("SELECT id, firstname, lastname from users", function(err, rows, fields) {
      if (err) throw err;

  });
  connection.end();

抛出的异常是:

ER_ACCESS_DENIED_ERROR:用户 'usernameissued'@'127.11.255.130' 的访问被拒绝(使用密码:YES)

我什至更改了授予完全访问权限的该用户的所有权限,但它似乎仍然不起作用。

任何想法将不胜感激。

最佳答案

我遇到了同样的问题(过去一小时)并找到了一个半解决方案——创建具有空密码的用户。我可以推测问题在于“mysql”模块如何散列密码。我不知道问题是否出自最新版本的“mysql”模块 - 在我的本地计算机上始终使用空密码:)

关于mysql - 使用openshift在mysql数据库上访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21988332/

相关文章:

java - 在 mysql 中存储多行单条记录的更好方法是什么

node.js - NodeJS路由: all routes with authentication except first page

mySQL 查询在数据库中的所有表中搜索字符串?

MySQL - SQLSTATE 值

node.js - 在 .populate() waterline-postgresql .populate ('fieldName' 中获取选定字段,{select :[]})

node.js - 将大对象转换为原始数据类型?

openshift - 准备/活跃度探针失败。杀荚

rest - OpenShift服务代理超时

python - 在 Openshift 上使用 node-gyp 构建模块

MySQL:SELECT 与 AND OR 产生不正确的数据?