在OpenShift中远程访问MySQL数据库(不考虑端口转发方案)
我昨天花了一整天的时间把我的 django
应用程序迁移到 OpenShift
上(我选择了免费的方案,我的应用程序使用了一个小型的服务器)。现在我的应用程序已经可以正常运行,使用浏览器访问网站没有任何问题。
不过,我还有一个 .NET (C#) 应用程序
,它是和这个网页应用一起使用的,很多不同的用户都会运行这个程序,它需要访问数据库,但我找不到在 OpenShift 上实现这个的办法。
所有的不同 IP 地址似乎都是本地的,我无法找到远程访问 MySQL 数据库的方法。下面是 OpenShift 的环境变量:
env | grep MYSQL
OPENSHIFT_MYSQL_DIR=/var/lib/openshift/.../mysql/
OPENSHIFT_MYSQL_DB_PORT=3306
OPENSHIFT_MYSQL_DB_HOST=127.13.169.130
OPENSHIFT_MYSQL_DB_PASSWORD=...
OPENSHIFT_MYSQL_IDENT=redhat:mysql:5.5:0.2.9
OPENSHIFT_MYSQL_DB_USERNAME=...
OPENSHIFT_MYSQL_DB_SOCKET=/var/lib/openshift/.../mysql//socket/mysql.sock
OPENSHIFT_MYSQL_DB_URL=mysql://..-...@127.13.169.130:3306/
OPENSHIFT_MYSQL_DB_LOG_DIR=/var/lib/openshift/.../mysql//log/
OPENSHIFT_MYSQL_LD_LIBRARY_PATH_ELEMENT=/opt/rh/mysql55/root/usr/lib64
正如标题所说,我并不想要端口转发的解决方案。(我需要让它不仅对我有效,还要对所有用户有效)
- 我漏掉了什么?
- 为什么数据库不能被外部访问?
- 我该怎么办?
- 有没有其他免费的 PaaS 可以提供我需要的功能?
- 我需要升级到中型或大型服务器才能让这个工作吗?
谢谢
2 个回答
1
如果你不想使用端口转发,那我建议你写一个API,让你的.NET应用程序可以用来访问数据库。否则,你可以考虑使用外部托管的数据库服务(DBaaS)解决方案。
1
好的,经过大量的搜索,我现在知道了,使用OpenShift
提供的免费方案是无法解决这个问题的。你必须升级到付费版本,才能获得另一个端口来直接访问sql数据库。