Итак, я только что закончил настройку сервера приложений JBoss на Openshift, и я подключил к нему патч MySQL и phpmyadmin. Мой вопрос в том, есть ли способ удаленного доступа к серверу базы данных с помощью приложения, такого как MySQL Workbench?
Openshift: Как удаленный доступ к MySQL?
Ответ 1
Вы можете использовать rhc port-forward
для пересылки портов из базы данных на локальный компьютер. Ознакомьтесь с учебником здесь. Основная идея переадресации портов в этом контексте заключается в том, что вы можете пересылать порты на своем локальном компьютере на устройства на передаче. Таким образом, в вашем случае вы переадресовываете какой-либо порт на свой локальный компьютер на порт, который mysql прослушивает для подключения вашего устройства. Затем вы подключите MySQL Workbench к порту на вашей локальной машине.
Ответ 2
Использовать 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 через SSH
Заполните SSH hostname = host of yor app, например: myappname-user.rhcloud.com
SSH Username = UUID вашего приложения
SSH Ключевой файл = В Windows: C:\Users\XXX.ssh\id_rsaВ OS X: /Users/XXX/.ssh/
Нажмите "Проверить соединение".... и используйте myqlworkbench
Ответ 3
Решение объясняется здесь с помощью Linux:
rhc port-forward -a app &
rhc app show -a <app>
mysql -u <user> -h 127.0.0.1 -P 3307 -p
После ввода пароля вы подключаетесь к удаленному mysql в Openshift.
Ответ 4
Войдите в систему через SSH.
- Вход для SSH
- экспорт | grep MYSQL
- Показать значение для 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"
Ответ 5
Чтобы удаленно обращаться к MySQL на Openshift, вы можете настроить NodePort или LoadBalancer как тип службы, а не кластер ClusterIP по умолчанию. Это позволит использовать внешний tcp-доступ к вашей базе данных. Обратите внимание, что nodeport будет определен в диапазоне 30000-32767 по умолчанию, который будет отображаться в targetport.