そこで、OpenshiftでJBossアプリケーションサーバーのギアのセットアップを完了し、MySQLとphpmyadminカートリッジを添付しました。私の質問は、MySQL Workbenchなどのアプリを使用してデータベースサーバーにリモートアクセスする方法があるかどうかです。
rhc port-forward
を使用して、データベースからローカルマシンにポートを転送できます。チュートリアルをご覧ください here 。このコンテキストでのポート転送の基本的な考え方は、ローカルマシンのポートをギアのポートに転送できるということです。したがって、あなたの場合、mysqlがギアの接続をリッスンしているポートにローカルマシンのポートを転送します。次に、MySQL Workbenchをローカルマシンのポートに接続します。
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
新しい接続を作成します。
接続名を設定する
接続方法の設定:標準TCP/IP over SSH
SSHホスト名を入力= yorアプリのホスト、例: "myappname-user.rhcloud.com"
SSHユーザー名=アプリのUUID
SSHキーファイル= Windowsの場合:C:\ Users\XXX.ssh\id_rsa OS Xの場合:/ Users/XXX/.ssh /
「テスト接続」をクリックします.... myqlworkbenchを使用します
ソリューションは こちら Linuxを使用して説明されています:
rhc port-forward -a app &
rhc app show -a <app>
mysql -u <user> -h 127.0.0.1 -P 3307 -p
パスワードを入力すると、Openshiftのリモートmysqlに接続されます。
SSH経由でログインします。
例:
[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"
Openshift上のMySQLにリモートでアクセスするために、NodePortまたはLoadBalancerをデフォルトのClusterIPの代わりにサービスのタイプとして設定できます。これにより、データベースへの外部tcpアクセスが許可されます。ノードポートは、デフォルトで30000〜32767の範囲で定義され、ターゲットポートにマップされることに注意してください。