我只是想问一个简单的问题,以确保在继续我的网络应用程序之前我所做的一切都是正确的。
我已经在 Eclipse 中编写了我的 Web 应用程序,并通过 OpenShift 托管它。使用 OpenShift,我还设置了一个 MySQL 数据库(我之前一直使用 Derby 处理本地数据,但我决定迁移到 MySQL,因为 OpenShift 不支持 Derby)。
我希望能够 1) 连接到 MySQL 并创建表等,2) 在我的 servlet 中连接到 MySQL。我的问题主要涉及首要任务。
当我调用 port-forward 时,我得到:
Service Local OpenShift
------- -------------- ---- -----------------
java 127.0.0.1:8080 => 127.11.150.1:8080
mysql 127.0.0.1:3306 => 127.11.150.2:3306
现在,当我导航到 Eclipse 中的数据库开发并创建一个新数据库时,输入:
jdbc:mysql://127.11.150.2:3306/<my-app-name>
...对于 URL,以及我的用户名和密码(以及我的应用程序的名称),ping 失败。但是,对于:
jdbc:mysql://127.0.0.1:3306/<my-app-name>
一切都很顺利。
我的问题是这样的:如果我使用本地 IP 地址,当 Eclipse 关闭且端口转发关闭时,我的 servlet 是否仍然能够访问数据库?如果不是,什么情况?我需要通过Eclipse编辑和更新MySQL数据库吗?
提前致谢!
最佳答案
您从 openshift ssh
控制台(或从您的 OpenShift Web 配置文件,这里并不重要)获得的 IP 地址是用于您的应用程序的严格本地 IP 地址。您可能会部署一些 web
-admin 界面(如 phpMyAdmin
)来从外部与您的 OpenShift 数据库进行通信,但这对于某些安全性来说是不可取的原因。通常情况下,您的数据库只能通过其他 openshift 工件进行访问。
Openshift 反过来提供了一些带有数据库 URL 等的预定义环境变量。您可以在 ssh 控制台中查看它们。
因此,如果您在 OpenShift Web 容器中设置了适当的配置(对应于 OpenShift 数据库),那么是的,它会正常工作。
关于java - 使用 Eclipse 连接到 OpenShift MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31035107/