Soweit ich weiß, möchten Sie auf einen MySQL-Server zugreifen, der auf einem Remote-Computer ausgeführt wird und beispielsweise Port 3306 über einen SSH-Tunnel abhört.
Um einen solchen Tunnel von Port 1234 auf Ihrem lokalen Rechner zu Port 3306 auf einem Remote-Rechner mit dem Befehlszeilen-SSH-Client zu erstellen, würden Sie den folgenden Befehl auf Ihrem lokalen Rechner eingeben:
ssh -L 1234:localhost:3306 mysql.server.remote
Um dasselbe von Java aus zu tun, könnten Sie JSch verwenden , eine Java-Implementierung von SSH2. Von seiner Website:
Mit JSch können Sie sich mit einem sshd-Server verbinden und Portweiterleitung, X11-Weiterleitung, Dateiübertragung usw. verwenden, und Sie können seine Funktionalität in Ihre eigenen Java-Programme integrieren. JSch ist unter einer BSD-Style-Lizenz lizenziert.
Sehen Sie sich zum Beispiel PortForwardingL.java
an
. Sobald die Sitzung verbunden ist, erstellen Sie Ihre JDBC-Verbindung zu MySQL mit etwas wie jdbc:mysql://localhost:1234/[database]
als Verbindungs-URL.