前言
在某些情況下,我們只能知道數(shù)據(jù)庫的內(nèi)網(wǎng)地址,無法通過內(nèi)網(wǎng)連接,但是我們可以登錄同一個內(nèi)網(wǎng)的其他機(jī)器,并且這些機(jī)器能夠在內(nèi)網(wǎng)訪問數(shù)據(jù)庫,那么我們可以通過ssh tunnel的方法來訪問數(shù)據(jù)庫。
用法
ssh tunnel的使用方法十分簡單,具體格式如下:
ssh -L [local port]:[remote host]:[remote port] [username]@[remote host]
使用-L
的方式,將對本地端口的訪問,通過ssh tunnel,forward到遠(yuǎn)程主機(jī)的端口上。在實際使用過程中,我們還可以加上-f和-N參數(shù)使得該條ssh命令在后臺工作,且無需執(zhí)行任何命令。
實踐
假設(shè)我們mysql server的內(nèi)網(wǎng)ip為10.86.22.22,并且開啟在3306端口上,另一臺與mysql在同一個內(nèi)網(wǎng)中的服務(wù)器的外網(wǎng)ip是121.43.23.12。
首先在本地執(zhí)行:
$ ssh -f -N -L 12345:121.43.23.12:3306 root@121.43.23.12
然后在本地執(zhí)行:
$ mysql -u root -P 12345 -h 127.0.0.1 -p
輸入完密碼之后,就可以登錄mysql了。
執(zhí)行完之后,我們可以通過ps找到剛才建立的sshd連接,然后將其kill掉,就可以關(guān)閉剛才建立的ssh tunnel了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
您可能感興趣的文章:- IDEA鏈接MySQL報錯08001和連接成功后不顯示表的問題及解決方法
- mysql安裝navicat之后,出現(xiàn)2059,Authentication plugin及本地鏈接虛擬機(jī)docker,遠(yuǎn)程鏈接服務(wù)器
- python pymysql鏈接數(shù)據(jù)庫查詢結(jié)果轉(zhuǎn)為Dataframe實例
- MySQL多表查詢實例詳解【鏈接查詢、子查詢等】
- 實例操作MySQL短鏈接
- MySql 8.0.11 安裝過程及 Navicat 鏈接時遇到的問題小結(jié)
- 詳解MySQL分組鏈接的使用技巧
- MySql使用skip-name-resolve解決外網(wǎng)鏈接客戶端過慢問題
- MySQL 查看鏈接及殺掉異常鏈接的方法