我正在尝试将我的 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/