MySQL 쿼리 브라우저를 사용하여 데이터베이스를 쉽게 탐색할 수 있도록 원격 웹 서버에서 다른 MySQL 서버로 SSH 터널링을 설정하려고 합니다. 이 페이지를 팔로우하고 있지만 MySQL 서버에 연결할 수 없습니다.http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/
내가 한 것:
- SSH를 통해 Putty로 웹 서버에 로그인했습니다.
ssh -L 33060:[database]:3306 [myusername]@[webserver_address]
[...]이 실제 정보에 의해 변경되는 곳에 입력됩니다 .비밀번호를 물어보고 입력했더니 아래와 같은 메시지가 떴습니다. 그럼 로그인이 성공한 것 같습니다.
소켓: 프로토콜이 지원되지 않습니다
마지막 로그인: .... 2012년 .... 저작권 (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. 판권 소유.
FreeBSD 7.1-릴리스....
FreeBSD에 오신 것을 환영합니다!
Windows에서 MySQL 쿼리 브라우저를 열고 입력했습니다.
Server Host:
로컬호스트
Port:
33060
UserName:
내 사용자 이름
PassWord:
내 비밀번호
그리고 그것은 말한다,
Could not connect to the specified instance.
MySQL Error Number 2003
Can't connect to MySQL Server on 'localhost' (10061)
너무 기본적인 내용이라면 죄송합니다. 귀하의 정보에 감사드립니다.
답변1
Putty를 사용하고 있는 Windows 호스트에서 원격 시스템에 액세스하려면 원격 시스템이 아닌 Putty 내에서 터널을 생성해야 합니다.
Putty에서 터널을 설정하는 것은 매우 간단합니다.
- 오픈 퍼티
- 저장 세션이 있으면 로드하거나 연결 정보를 입력하세요.
- 연결 -> SSH -> 터널까지 아래로 스크롤합니다.
- 소스 포트를 다음으로 설정합니다.
33060
- 대상을 데이터베이스 서버의 IP로 설정하고 그 뒤에
:3306
mysql 포트를 입력합니다. 그래서192.168.1.1:3306
. - '추가'를 클릭하세요.
- 세션 탭으로 다시 클릭하고 저장을 선택하거나 간단히 열기를 클릭하여 연결을 시작합니다.
연결되면 데이터베이스 애플리케이션을 실행하고 애플리케이션에서 수신 대기 중인 서버에 연결을 시도합니다 127.0.0.1:33060
.
답변2
편집: 잘못된 연결 문자열을 사용하고 있는 것을 확인했습니다.
ssh -L 33060:[database]:3306 [myusername]@[webserver_address
다음을 사용해 보세요:
ssh -4 -L 33060:localhost:3306 [myusername]@[webserver_address
-4 옵션은 IPv4를 강제로 사용하며 localhost는 바인드 포트의 대상입니다(귀하의 경우에는 locahost여야 함).
localhost:33060 및 원격 자격 증명을 사용하여 연결합니다.
그러면 효과가 있을 것입니다!
그렇지 않은 경우 서버 SSH 데몬 구성을 확인하십시오.
AllowTcpForwarding yes
그렇지 않은 경우 옵션을 사용하여 서버에 연결하면 ssh -vv user@host
더 많은 정보를 얻을 수 있습니다. 바인드 포트가 실패한 경우 최소한 이유를 확인해야 합니다.