Je venais donc de terminer la configuration d’un équipement de serveur d’applications JBoss sur Openshift et j’attachais un MySQL et phpmyadmin cartouches. Ma question est la suivante: existe-t-il un moyen d'accéder à distance au serveur de base de données à l'aide d'une application telle que MySQL Workbench?
Vous pouvez utiliser rhc port-forward
pour transférer les ports de votre base de données vers votre ordinateur local. Découvrez le tutoriel ici . L'idée de base de la redirection de port dans ce contexte est que vous pouvez transférer les ports de votre ordinateur local vers ceux de votre équipement. Donc, dans votre cas, vous transmettriez un port de votre machine locale au port que mysql écoute pour les connexions de votre matériel. Ensuite, vous connecteriez MySQL Workbench au port de votre ordinateur local.
Utiliser SSH et MysqlWorkbench
Commandes SSH: (à côté de rhc ssh myappname)
echo $OPENSHIFT_MYSQL_DB_Host
echo $OPENSHIFT_MYSQL_DB_PORT
echo $OPENSHIFT_MYSQL_DB_USERNAME
echo $OPENSHIFT_MYSQL_DB_PASSWORD
MysqlWOrkbench
Créer une nouvelle connexion:
Définir le nom de la connexion
définir la méthode de connexion: TCP/IP standard sur SSH
Fill SSH hostname = Hôte de votre application, ex: "myappname-user.rhcloud.com"
Nom d'utilisateur SSH = UUID de votre application
Fichier de clé SSH = Sous Windows: C:\Utilisateurs\XXX.ssh\id_rsa Sous OS X: /Users/XXX/.ssh/
Cliquez sur "Tester la connexion" .... et utilisez myqlworkbench
La solution est expliquée ici en utilisant Linux:
rhc port-forward -a app &
rhc app show -a <app>
mysql -u <user> -h 127.0.0.1 -P 3307 -p
Après avoir entré votre mot de passe, vous êtes connecté avec mysql à distance sur Openshift.
Connexion via SSH.
Exemple:
[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"
Pour accéder à distance à MySQL sur Openshift, vous pouvez configurer NodePort ou LoadBalancer en tant que type sur le service au lieu de ClusterIP par défaut. Cela permettra un accès TCP externe à votre base de données. Remarque Un noeudport sera défini par défaut dans la plage 30000-32767 et sera mappé sur le cible.