3

我有以下问题。

我有两个应用程序创建了 app_1 和 app_2

在 app_1 上安装了 MySQL,并具有以下参数:

OPENSHIFT_MYSQL_DB_PORT = 3306
OPENSHIFT_MYSQL_DB_HOST = 127.9.101.2
OPENSHIFT_MYSQL_DB_PASSWORD = xxxx
OPENSHIFT_MYSQL_DB_USERNAME = xxxx
OPENSHIFT_MYSQL_DB_SOCKET = / var/lib/openshift/5252ca504382ecccc30000ca/mysql / / socket / mysql.sock
OPENSHIFT_MYSQL_DB_URL = mysql :/ / admindWSK1aY: bnHt58Afw69I@127.9.101.2: 3306 /

OPENSHIFT_MYSQL_DB_LOG_DIR = /var/lib/openshift/5252ca504382ecccc30000ca/mysql //日志/

在 app_1 上,我可以通过本地数据库上的 MySQL shell 轻松连接。

命令看起来像这样。

mysql -h 127.9.101.2 -u xxx -pxxx db325771

但是当我在 app_2 上运行相同的命令时,我收到以下错误消息。

ERROR 2003 (HY000): Can not connect to MySQL server on '127 .9.101.2 '(113)

我究竟做错了什么?如何为两个应用共享一个数据库?

谢谢

4

2 回答 2

1

1)您需要将app 1创建为可扩展的数据库(rhc app create myapp pyton-2.6 mysql-5 -s)

2)您需要在app_2中使用数据库的URL(不是ip)

这应该适合您的用例

于 2013-10-08T17:24:30.043 回答
1

方法如下:

  1. 使用 mysql 制作可扩展的应用程序。除了可扩展的应用程序之外,OpenShift 目前不会将 mysql 的端口公开到 Internet。
  2. 在第二个应用程序中,当连接到第一个应用程序中的 mysql 实例时,您必须将应用程序的 DNS 与 mysql 以及该应用程序的 OPENSHIFT_MYSQL_DB_PROXY_PORT 环境变量的值一起使用。
于 2013-10-08T17:24:50.377 回答