2013-11-03 4 views
26

私はOpenshiftでJBossアプリケーションサーバーギアをセットアップしたところ、MySQLとphpmyadminカートリッジを添付しました。私の質問は、のようなアプリを使ってデータベースサーバーにリモートアクセスする方法があるかどうかです。Openshift:MySQLへのリモートアクセス方法

+0

おそらくPhpmyadmin? – Adsy2010

+0

本質的にリモートからのものではなく –

+0

私は、リモート接続が難しいことがないようにmySQLをセットアップすることが可能だと思います。私は、何年も前にスクリプトを見たが、それはパスワードなしでデータベースに侵入する可能性があるが、それはlocalhost上にあった。私は設定可能なSQLサーバのリモートIPアドレスを使用してphpmyadminを接続することが可能だと思うでしょう – Adsy2010

答えて

23

rhc port-forwardを使用すると、データベースのポートをローカルマシンに転送できます。チュートリアルhereをご覧ください。このコンテキストでのポート転送の基本的な考え方は、ローカルマシンのポートをギアのポートに転送できることです。あなたのケースでは、あなたのローカルマシン上のいくつかのポートをmysqlがあなたのギアの接続を待ち受けるポートに転送します。それから、ローカルマシンのポートにMySQL Workbenchを接続します。

+2

あなたはそれを行う方法のリンクを教えてください?私はそれの前にいくつかのものを読むが、私はそれを理解していない –

+0

@Mtn_Wolf、私の編集を参照してください。より多くの情報が必要な場合はお知らせください。 –

+2

'port-forwarding'は永続的な解決策ではないようです。私は、データベースと通信する必要があるスタンドアロンのアプリケーションを持っています。それ、どうやったら出来るの? –

5

ソリューションは、Linuxを使用してhereを説明します

rhc port-forward -a app & 

rhc app show -a <app> 

mysql -u <user> -h 127.0.0.1 -P 3307 -p 

パスワードを入力した後、あなたはOpenshift上のリモートのMySQLに接続されています。

24

SSHを使用してMysqlWorkbench

SSHコマンド:(次のRHCののsshもしmyAppNameへ)

echo $OPENSHIFT_MYSQL_DB_HOST 

echo $OPENSHIFT_MYSQL_DB_PORT 

echo $OPENSHIFT_MYSQL_DB_USERNAME 

echo $OPENSHIFT_MYSQL_DB_PASSWORD 

MysqlWOrkbench

新しい接続を作成します。

セット接続名

セット接続方法:スタンドARD TCP/IP

SSH経由でSSHのホスト名を入力します=ヨールアプリのホスト、例:あなたのアプリの "myappname-user.rhcloud.com"

SSHユーザー名= UUID

SSH鍵ファイル= Windowsでは :C:\ Users \ユーザーXXX.ssh \ OS X上で id_rsaと:/Users/XXX/.ssh/

クリックして "接続テスト" ......とmyqlworkbench

を使用
+0

私は、ポートを転送するよりもこれを好きです。ありがとう!また、私は127.0.01をポートに入れていましたが、 '$ OPENSHIFT_MYSQL_DB_HOST'をエコーし​​て私の日を保存しました! PS:私はSequel Proで試しました。 – Arda

+0

これはうまくいくとは思えません。特にWindows上で...素晴らしい –

3

SSH経由でログインしてください。 SSH

  • 輸出用

    1. ログイン|グレップのMYSQL
    2. 表示値はOPENSHIFT_MYSQL_DB_HOSTとOPENSHIFT_MYSQL_DB_PORTする

    例:

    [xxxxxxx.rhcloud.com xxxxxxx]\> export | grep MYSQL 
    declare -x OPENSHIFT_MYSQL_DB_GEAR_DNS="xxxxxxx-name.rhcloud.com" 
    declare -x OPENSHIFT_MYSQL_DB_GEAR_UUID="xxxxxxx" 
    declare -x OPENSHIFT_MYSQL_DB_HOST="xxxxxxx-name.rhcloud.com" 
    declare -x OPENSHIFT_MYSQL_DB_PASSWORD="nlxxxxxxx" 
    declare -x OPENSHIFT_MYSQL_DB_PORT="57176" 
    declare -x OPENSHIFT_MYSQL_DB_URL="mysql://adminxxxxxxx:nlqxxxxxxx-name.rhcloud.com:57176/" 
    declare -x OPENSHIFT_MYSQL_DB_USERNAME="adminxxxxxxx" 
    
  • 0

    リモートでOpenshift上でMySQLにアクセスするには、代わりにデフォルトのCLUSTERIPのサービスタイプとしてNodePortやロードバランサを設定することができます。これにより、データベースへの外部tcpアクセスが許可されます。 nodeportは、デフォルトで30000-32767の範囲で定義され、targetportにマップされることに注意してください。

    +0

    元の質問は、OpenShift 3ではなくOpenShift 2に関するものでした。 –

    関連する問題