java - 使用 Eclipse 连接到 OpenShift MySQL 数据库

标签 java mysql database eclipse openshift

我只是想问一个简单的问题,以确保在继续我的网络应用程序之前我所做的一切都是正确的。

我已经在 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/

相关文章:

database - 如何有效连接3张表 M :N

php - 如何使用 php 将用户输入的信息传递到我的数据库?

java - 当在某个线程上调用 Thread.interrupt() 时,会发生什么?

java - 如何从android中的AsyncTask类中获取数据?

mysql - MariaDB "insert into"具有多个子查询的多行

mysql - 使用 vb.net 作为语言和 MySQL 作为数据库将 excel 加载到 datagridview

mysql - 何时(不)在 JOIN 语句中使用子查询?

python - 当内存有问题时如何读取大型 csv 或数据库并连接列?

java - 在两个零旁边转义空字节

Java:ClassCastException 整数错误