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

时间:2014-02-24 12:50:34

标签: mysql node.js openshift

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

我可以使用我的本地客户端通过端口转发(127.0.0.1:3307 local - > 127.11.255.130:3306)访问mysql数据库,并且我已经填充了数据库没有probs。 然后我尝试使用我的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'(使用密码:是)

我甚至更改了该用户授予完全访问权限的所有权限,但它似乎仍无效。

任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

如果你还没有在mysql中输入任何数据,我会删除mysql盒并重新安装它。如果您输入了数据,请先执行mysqldump,然后删除/重新安装mysql盒式磁带。您使用的是什么版本的mysql?