3

次の問題があります。

app_1 と app_2 を作成した 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 シェル経由で簡単に接続できます。

そして、コマンドは次のようになります。

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 つのアプリで 1 つの DB を共有するにはどうすればよいですか?

ありがとうございました

4

2 に答える 2

1

1) アプリケーション 1 をスケーラブルなデータベースとして作成する必要があります (rhc app create myapp pyton-2.6 mysql-5 -s)

2) app_2 のデータベースには (IP ではなく) URL を使用する必要があります。

それはあなたのユースケースのためにそれをするはずです

于 2013-10-08T17:24:30.043 に答える
1

これを行う方法は次のとおりです。

  1. mysql でスケーラブルなアプリケーションを作成します。OpenShift は現在、スケーラブルなアプリケーションを除いて、mysql のポートをインターネットに公開していません。
  2. 2 番目のアプリでは、最初のアプリケーションで mysql インスタンスに接続するときに、mysql でアプリケーションの DNS とそのアプリケーションの OPENSHIFT_MYSQL_DB_PROXY_PORT 環境変数の値を使用する必要があります。
于 2013-10-08T17:24:50.377 に答える