2016-10-04 3 views
-1

Ich versuche, Flyway zu einer AWS EC2 MySQL-Instanz mit TCP über SSH zu verbinden.Flyway Over SSH-Tunnel

Kann mir jemand helfen mit diesem JDBC URL:

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

Der Verbindungsfehler ist;

Kann keine Verbindung = Adresse (host = 0.0.0.0) (port = 3306) (type = Master): Connection timed out: connect

+0

Wenn ein lokalen Tunnel Remote-Host verwenden, die Verbindungszeichenfolge muß möglicherweise die lokale Loopback-Adresse 127.0.0.1 –

Antwort

1

Sie sollten versuchen, den lokalen Loopback zu verwenden IP-Adresse, die aufgrund des von Ihnen verwendeten SSH-Tunnels jetzt der virtuelle Speicherort Ihrer Datenbank ist.

Ihre Verbindungszeichenfolge wäre;

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

Ja, aber wie ich die Brücke einrichten? Kitt? –

+2

@josecarvalho Sie haben nicht einmal die Tunnelkonfiguration? Dies hat nichts mit Flyway zu tun, dies ist eine allgemeine SSH Port Forwarding Frage. Überprüfen Sie die Manpage ['ssh'] (https://www.freebsd.org/cgi/man.cgi?query=ssh§ion=1). Sie möchten etwas wie 'ssh -L 13306: 127.0.0.1: 3306 ec2-instance.com', wobei' 13306' der lokale Port auf Ihrem Rechner ist und '3306' der Port ist, der Datenverkehr auf dem entfernten Ende empfängt. Siehe hierzu [explain shell] (http://explainshell.com/explain?cmd=ssh+-L+13306%3A127.0.0.1%3A3306+ec2-instance.com). – markdsievers

+0

Das folgende @ josecarvalho-Beispiel würde zu einer Verbindungszeichenfolge führen, die den Port 13306 verwendet, also flyway.url = jdbc: mysql: /127.0.0.1: 13306/database –