2016-10-04 121 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 –