我正在嘗試在遠端 Web 伺服器上設定到另一台 MySQL 伺服器的 SSH 隧道,以便可以使用 MySQL 查詢瀏覽器輕鬆瀏覽資料庫。我正在關注此頁面,但無法連接到 MySQL 伺服器。http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/
我做了什麼:
- 使用 Putty 透過 SSH 登入 Web 伺服器。
- 鍵入的
ssh -L 33060:[database]:3306 [myusername]@[webserver_address]
內容會根據實際資訊進行變更。 我被要求輸入密碼並輸入密碼並收到以下訊息。所以看來登入成功了。
套接字:不支援協議
上次登入: .... 2012 年 .... 版權所有 (c) 1980、1983、1986、1988、1990、1991、1993、1994 加州大學董事會。版權所有。
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
,這將為您帶來更多信息,如果您看到綁定連接埠失敗,至少您應該看到原因。