2013-11-03 3 views
26

그래서 Openshift에서 JBoss 응용 프로그램 서버 장비를 설정하고 MySQL과 phpmyadmin 카트리지를 첨부했습니다. 내 질문은 같은 응용 프로그램을 사용하여 데이터베이스 서버에 원격 액세스하는 방법이 있다면 MySQL 워크 벤치?Openshift : MySQL에 원격 액세스하는 방법?

+0

아마도 Phpmyadmin? – Adsy2010

+0

본질적으로 원격지에서 대신 –

+0

나는 어려움없이 원격 연결을 허용하도록 MySQL을 설정할 수 있다고 생각합니다. 나는 몇 년 전에 스크립트가 로컬 호스트에 있지만 암호없이 데이터베이스에 침입 할 수 있음을 보았습니다. 내가 그 설정 가능한 SQL 서버의 원격 IP 주소를 사용하여 phpmyadmin을 연결할 수 있다고 생각 – Adsy2010

답변

23

rhc port-forward을 사용하면 데이터베이스의 포트를 로컬 시스템으로 전달할 수 있습니다. 튜토리얼 here을 확인하십시오. 이 컨텍스트에서 포트 전달의 기본 개념은 로컬 시스템의 포트를 장비의 포트로 전달할 수 있다는 것입니다. 따라서 귀하의 경우에는 로컬 컴퓨터의 일부 포트를 mysql이 장비에서 연결을 수신하는 포트로 전달합니다. 그런 다음 로컬 컴퓨터의 포트에 MySQL Workbench를 연결합니다. 이 솔루션은 리눅스를 사용 here을 설명

+2

어떻게 할 수 있습니까? 나는 그것에 약간의 재료를 전에 읽었다. 그러나 나는 그것을 이해하지 않았다 –

+0

@Mtn_Wolf, 나의 편집을 본다. 더 많은 정보가 필요하면 알려주세요. –

+2

'포트 포워딩'은 영구적 인 해결책으로 보이지 않습니다. 데이터베이스와 통신해야하는 독립 실행 형 응용 프로그램이 있습니다. 어떻게해야합니까? –

5

은 :

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와 MySQL 워크 벤치

SSH 명령 : (다음 RHC SSH를 myappname에)

echo $OPENSHIFT_MYSQL_DB_HOST 

echo $OPENSHIFT_MYSQL_DB_PORT 

echo $OPENSHIFT_MYSQL_DB_USERNAME 

echo $OPENSHIFT_MYSQL_DB_PASSWORD 

MySQL 워크 벤치

새 연결 만들기 :

설정 연결 이름

세트를 연결 방법 : 스탠드 SSH를 통해 ARD TCP/IP

채우기 SSH 호스트 이름을 yor 응용 프로그램의 = 호스트, 예 : "myappname-user.rhcloud.com"앱

SSH 사용자 이름 = UUID

SSH 키 파일 = Windows에서 : C : \ 사용자 \ XXX.ssh \ OS의 X에 하여 id_rsa_gsg_keypair : /Users/XXX/.ssh/

클릭 "연결 테스트".... 그리고 myqlworkbench

을 사용
+0

나는 이것을 포워딩보다 선호한다. 감사! 또한 127.0.01을 포트로 사용하고 있었지만'$ OPENSHIFT_MYSQL_DB_HOST'를 출력하면 저를 위해 하루가 절약되었습니다! 추신 : 저는 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에 관한 것입니다. –

    관련 문제