2013-10-01 5 views
0

Mac에서는 MySqlWorkbench를 사용하고 SSH를 사용하는 여러 원격 서버에 연결합니다. 그 중SSH 연결을 해결하는 방법은 무엇입니까?

2 로컬 - 내 로컬 VM의 한 방에서 서버의 하나. 세 번째는 세계 어디에서나 넓은 동요입니다.

나는 행복하게 열고 워크 벤치를 할 수있는 즉시 제 2 개 로컬 서버에 연결합니다.

나는 워크 벤치를 열고 시간 동안 아무것도하지 않는 한 다음에 연결하고 모든 여전히 작동 할 수 있습니다.

나는 워크 벤치를 열고 원격 서버에 즉시 연결할 수 있습니다. 모두 좋은. 내가 실제 원격 서버에 지연의 어떤 종류 (예를 들어 시간 정도) 후 연결을 시도 할 경우

하지만, 오류가 발생합니다.

Your connection attempt failed for user 'root' from your host to server at 127.0.0.1:3306: 
Tunnel error: Remote connection to 127.0.0.1:3306 failed: IOError('open SSH channel timeout',) 

Please: 
1 Check that mysql is running on server 127.0.0.1 
2 Check that mysql is running on port 3306 (note: 3306 is the default, but this can be changed) 
3 Check the root has rights to connect to 127.0.0.1 from your address (mysql rights define what clients can connect to the server and from which machines) 
4 Make sure you are both providing a password if needed and using the correct password for 127.0.0.1 connecting from the host address you're connecting from 

이 시점에서 나는 응용 프로그램을 닫았다가 다시 열어 연결하고 모든 것이 좋습니다.

그러나 연결을 얻지 못할 것이라는 것을 깨닫기 위해 30 초 정도 기다려야하는 것은 매우 불편합니다. 그런 다음 앱을 닫은 다음 다시 열어야합니다.

경우에 따라 앱이 다운되지만 자주 부족합니다.

내가 문제를 식별하고 제거하기 위해 무엇을 할 수 있는지에 대한 조언?

감사합니다,

리처드.

+0

아니 시간 초과하지만 더 편리한 재 연결 메뉴를 사용을위한 솔루션 -> 쿼리 -> 서버에 다시 연결합니다. –

답변

0

내가 제대로 시나리오를 이해한다면, 그것은 약간의 시간 동안 유휴 상태 인 경우 죽어 연결에 당신이있어 문제. keepalive 옵션을 설정하여 몇 초마다 패킷을 계속 생성하십시오. 이렇게하면 연결이 끊어지지 않습니다.

연결을 직접 설정하려면 -o TCPKeepAlive=yes을 명령 줄에 추가하십시오. 그 다음 설정, 당신을위한 연결을 시작하는 일부 응용 프로그램의 경우

당신의 ~/.ssh/config
Host * 
TCPKeepAlive yes 

트릭을 할해야합니다.

관련 문제