2016-10-04 128 views
-1

我試圖通過SSH連接到使用TCP的AWS EC2 MySQL實例的Flyway。通過SSH隧道飛越

任何人都可以使用這個JDBC URL幫助:

flyway.url=jdbc:mysql:/0.0.0.00:3306/database 

連接錯誤;

無法連接到地址=(主機= 0.0.0.0)(端口= 3306)(類型=主): 連接超時:連接

+0

如果使用的是本地隧道遠程主機,連接字符串可能需要本地環回地址127.0.0.1 –

回答

1

你應該儘量使用本地迴環由於您使用的是SSH隧道,因此IP地址現在是數據庫的虛擬位置。

您的連接字符串是;

flyway.url=jdbc:mysql:/127.0.0.1:3306/database 
+0

是的,但是我怎麼設置橋?膩子? –

+2

@josecarvalho你甚至沒有隧道設置?這與Flyway無關,這是一個普通的SSH端口轉發問題。檢出['ssh'](https://www.freebsd.org/cgi/man.cgi?query=ssh&sektion=1)手冊頁。你需要像'ssh -L 13306:127.0.0.1:3306 ec2-instance.com'這樣的'13306'是你機器上的本地端口,'3306'是接收遠端流量的端口。看到這個[解釋shell](http://explainshell.com/explain?cmd=ssh+-L+13306%3A127.0.0.1%3A3306+ec2-instance.com)的例子。 – markdsievers

+0

以下@ josecarvalho的示例將導致使用端口13306的連接字符串,即flyway.url = jdbc:mysql:/127.0.0.1:13306/database –