2012-04-05 132 views
4

如何通過兩臺SSH主機連接MySQL數據庫?如何通過兩臺SSH主機連接MySQL數據庫

這是我的情況:我有兩個SSH主機,如下所示。 MySQL正在BOX2主機中運行。

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

我的問題是我如何連接,如果我有多個SSH主機隧道如上所示?

回答

3

我認爲這會有所幫助。從客戶端試試從myBox上此命令(有MySQL客戶端)

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

現在連接到這樣

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) 

在隧道信息

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

嘗試以下操作:

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

然後嘗試連接使用127.0.0.1:33306到MySQL。請注意,端口33306將提供給box1上的任何人,這對您而言可能是也可能不是問題。

另一種完成此操作的方法是使用ProxyCommand,如here所述。

0

我的替代解決方案使用連接膩子客戶端如下。

  1. 首先在Putty應用程序上配置從MyBox端口3300到Box1端口3300的隧道。
  2. 連接膩子以下方塊命令1
  3. 類別以BOX1和BOX2 之間建立隧道的ssh -L 3300:本地主機:3306根@ Box2_IP
  4. 連接MySQL客戶端爲localhost:3300

修補劑配置截圖如下。 Puttuy Config Connect Screen

Putty Tunnel Config Screen

相關問題