2012-04-05 8 views
4

Wie kann ich eine Verbindung zur MySQL-Datenbank über zwei SSH-Hosts herstellen?So verbinden Sie die MySQL-Datenbank über zwei SSH-Hosts

Hier ist meine Situation: Ich habe zwei SSH-Hosts wie unten gezeigt. MySQL läuft im BOX2-Host.

MyBox(MySQL GUI client) -----SSH(port 22)--->BOX1(IP: 190.xx.xx.xx)---SSH(port 22)--->BOX2(IP: 190.xx.xx.xx)[MySQL server] 

Meine Frage ist, wie kann ich verbinden, wenn ich mehrere SSH-Hosts wie oben gezeigt tunneln?

Antwort

3

Ich denke, das wird helfen. Versuchen Sie diesen Befehl von MyBox (mit dem MySQL-Client)

ssh [email protected] -L some-local-port:box2:22 

nun vom Client-Versuch zu verbinden auf diese Weise Informationen

MySQL host : localhost 
MySQL usernmae : mysql-username-of-server-installed-at-Box2 
MySQL password : mysql-password-of-server-installed-at-Box2 
MySQL port : 3306 (suppose mysql server at Box-2 is listening at port 3306) 

Im Tunnelbau

SSH host : localhost 
SSH pass : ssh-password-of-Box2 
SSH port : some-local-port 
2

Versuchen Sie Folgendes:

ssh -L 33306:localhost:33306 [email protected]_hostname ssh -L 33306:localhost:3306 [email protected]_hostname 

Dann verbinden versuchen Sie es mit 127.0.0.1:33306 MySQL. Beachten Sie, dass Port 33306 für jeden Benutzer von Box1 verfügbar ist, der für Sie möglicherweise ein Problem darstellt.

Eine andere Möglichkeit, dasselbe zu erreichen, ist die Verwendung von ProxyCommand, wie in here erläutert.

0

Meine alternative Lösung zu verbinden mit Ein Putty-Client ist wie folgt.

  1. Zuerst einen Tunnel von MyBox Port 3300 zu Box1 Port 3300 auf Putty-Anwendung konfigurieren.
  2. Connect Putty Kasten 1
  3. Typ unterhalb Befehls Tunnel zwischen Box1 und Box2 SSH -L 3300 herzustellen: localhost: 3306 @ Box2_IP
  4. Connect Mysql Client localhost root: 3300

Putty Konfigurations Screenshots wie unten. Puttuy Config Connect Screen

Putty Tunnel Config Screen

Verwandte Themen