OpenShift:在两个应用程序之间共享MySQL数据库

时间:2013-10-08 13:29:55

标签: mysql database share openshift

我有以下问题。

我创建了两个应用程序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 / / log /

在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)

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

谢谢

2 个答案:

答案 0 :(得分:1)

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

2)您需要在app_2

中使用数据库的URL(而不是ip)

应该为您的用例

执行此操作

答案 1 :(得分:1)

执行此操作的方法如下:

  1. 使用mysql创建可伸缩的应用程序。 OpenShift目前不会将mysql的端口暴露给互联网,除了可扩展的应用程序。
  2. 在第二个应用程序中,当连接到第一个应用程序中的mysql实例时,必须使用带有mysql的应用程序的DNS和该应用程序中的OPENSHIFT_MYSQL_DB_PROXY_PORT环境变量的值。