2012-02-02 4 views
3

Sequel Pro를 사용하여 데이터베이스에 연결할 수는 있지만 커맨드 라인으로는 연결할 수 없습니다. 여기 감독의 지시를 따랐습니다 : 암호를 묻는 메시지가 때, 나는에서 하나를 사용Sequel Pro를 통해 DB에 연결할 수 있지만 명령 줄을 통해서만 연결할 수는 없습니다

ssh -L 1234:mysqlhost:3306 [email protected] 

mysqlhost => MySQL Host 
sshuser => SSH User 
sshhost => SSH Host 

그리고 : http://www.sequelpro.com/docs/Connecting_to_a_MySQL_Server_on_a_Remote_Host#Do_I_need_to_use_the_Terminal_for_SSH_connections.3F

자신의 명령에 나는 프로 속편에서 연결 창 및 SSH 탭에서 다음을 대체 "SSH 패스워드"

후계자 Pro가 어떤 장면에서 다르게하고 있는지 잘 모르겠습니다.

+0

그래서, 당신은 그 명령을 실행하고 * 다음에 * 무슨 일이 일어나는가, 아니면 당신은 무엇을합니까? SSH 명령으로 터널을 설정하는 중입니다. –

답변

7

Sequel Pro 문서의 설명은 그다지 전체적인 이야기는 아닙니다. 터널을 설정하는 법을 말하는 것입니다. 실제로 두 번째 단계를 통해을 사용하여 MySQL 서버에 연결하십시오.

  1. 터널을 만듭니다

    실제 과정은 두 단계이다. 내가 추가 한 -N

    ssh -N -L 1234:mysqlhost:3306 [email protected] 
    

    는 당신이 터널을 설정 있어 당신이 sshhost에서 쉘을 시작하고 싶지 않는 ssh 알려줍니다. 이 명령을 실행하면 아무 것도하지 않는 것처럼 보일 것입니다.

    ssh 명령이 실행중인 경우 로컬 컴퓨터의 포트 1234에 대한 연결은 mysqlhostsshhost에서 3306 (MySQL 포트)까지 터널링됩니다.

  2. 터널을 사용하여 MySQL에 연결하십시오.

    이제 mysql 명령 줄 클라이언트를 실행해야합니다. 방금 실행 한 ssh 명령은 아직도 당신이 수행하는 가장 쉬운 일이 열려 새로운 터미널 창이나 탭이 그래서, 실행 및 실행 :

    mysql -P 1234 -u mysqluser -p 
    

    가 데이터베이스에 연결할 수 있습니다. -P 1234 부분은이 명령에서 벗어나는 유일한 부분이며 터널링을 수행하기 위해 첫 번째 명령에서 설정 한 포트를 사용하여 mysql 클라이언트를 연결하게합니다. 당신이 터널과 수행, 중 원래 터미널 창을 닫거나 ssh 프로세스를 중지 Ctrl-C를를 사용하고

.

+0

어떻게 bash 스크립트로 서버에 데이터베이스를 생성 할 수 있습니까? 당신이 내 질문을 여기에 체크 아웃한다면 최고 일 것입니다 : http://stackoverflow.com/questions/12905077/create-mysql-database-through-ssh-in-a-bash-script – Spoeken

+2

이것은 나를 위해 거의 정확하게 일했지만 2 단계 나는 mysql -u user -h 127.0.0.1 -p와 같이 127.0.0.1이라는 호스트를 지정해야만했다. 그렇지 않으면 작동하지 않을 것이다. – jkeesh

관련 문제