我已经在openshift.redhat.com上使用mysql和phpmyadmin盒式磁带部署了一个nodejs应用程序。我可以通过访问mywebsite.rhcloud.com/phpmyadmin并使用我的凭据登录来访问我的数据库,但是当我尝试在本地计算机上添加MySQL工作台的连接时,它似乎无法连接。
我使用的信息是从sshing到我的应用程序并输入:
echo $OPENSHIFT_MYSQL_DB_USERNAME
echo $OPENSHIFT_MYSQL_DB_PASSWORD
echo $OPENSHIFT_MYSQL_DB_HOST
echo $OPENSHIFT_MYSQL_DB_PORT
这提供了我在MySQL工作台中使用的用户名,密码,主机和端口。
我试过这个:https://stackoverflow.com/a/27333276/2890156
将绑定地址从我的数据库ip更改为0.0.0.0,从phpmyadmin webinterface添加了一个新用户%
,允许此帐户从任何IP连接,但它似乎并不是工作
我无法弄清楚我做错了什么或失踪了,有人可以帮助我吗?
编辑: 似乎我已经改变的绑定地址在重新启动mysql盒后已经改回我的远程数据库ip ...
答案 0 :(得分:0)
防火墙很可能阻止了对托管数据库的访问。您可以使用nmap等网络扫描实用程序对此进行验证。
对于此示例,我将假设以下内容,如果它们不同,请更改相应的值:
echo $OPENSHIFT_MYSQL_DB_HOST
是mywebsite.rhcloud.com
echo $OPENSHIFT_MYSQL_DB_PORT
是3306
在本地计算机上安装后,运行命令:
nmap -Pn -p 3306 mywebsite.rhcloud.com
如果它被阻止,那么您将获得如下所示的过滤扫描:
Starting Nmap 6.40 ( http://nmap.org ) at 2016-05-05 13:05 CDT
Nmap scan report for rhcloud.com (54.174.51.64)
Host is up.
Other addresses for rhcloud.com (not scanned): 52.2.3.89
rDNS record for 54.174.51.64: ec2-54-174-51-64.compute-1.amazonaws.com
PORT STATE SERVICE
3306/tcp filtered mysql
Nmap done: 1 IP address (1 host up) scanned in 2.10 seconds
否则,你会得到一个这样的开放式扫描:
Starting Nmap 6.40 ( http://nmap.org ) at 2016-05-05 13:05 CDT
Nmap scan report for rhcloud.com (54.174.51.64)
Host is up.
Other addresses for rhcloud.com (not scanned): 52.2.3.89
rDNS record for 54.174.51.64: ec2-54-174-51-64.compute-1.amazonaws.com
PORT STATE SERVICE
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds