我在Openshift上创建了一个Node.js应用程序,服务器可以正常工作。
但是,我想连接另一台服务器上的mysql数据库。我已经授予了对openshift IP地址的远程mysql访问权限。
我一直收到这个错误:
Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'myuser'@'ipaddress' (using password: YES)下面的代码可以在连接到远程数据库服务器的本地主机上运行:
var connection = mysql.createConnection({
host : 'host',
port : 'port',
user : 'user',
password : 'pass',
database : 'db'
});
connection.connect();
var b;
console.log(query);
connection.query(query, function(err, rows, fields) {
if (err) throw err;
b = rows;
console.log(b);
console.log(rows);
result(b);
});如果能帮上忙我将不胜感激!
发布于 2014-03-07 04:04:10
我建议您将ssh放入OPenShift设备中,然后尝试远程登录到您的mysql实例的主机和端口。
telnet host port如果您不能连接,那么您实际上并没有公开您的MySQL实例,以便OPenShift上的node.js应用程序可以看到它。
顺便说一句,以这种方式将数据库暴露给外部世界是非常危险的。有什么原因不能在OpenShift上使用MySQL实例吗?
发布于 2014-03-08 00:59:21
OpenShift Online不为您的应用程序提供静态IP地址,因此基于IP的外部白名单可能无法很好地授予远程访问权限(从OpenShift托管的实例到外部数据库)。
是否可以将您的openshift设备的域名添加到您的外部MySQL数据库的连接白名单中?
https://stackoverflow.com/questions/22179756
复制相似问题