Ik heb begrepen dat je toegang wilt tot een mysql-server die op een externe machine draait en luistert op laten we zeggen poort 3306 via een SSH-tunnel.
Om zo'n tunnel te maken van poort 1234 op uw lokale machine naar poort 3306 op een externe machine met behulp van de opdrachtregel ssh-client, typt u de volgende opdracht vanaf uw lokale computer:
ssh -L 1234:localhost:3306 mysql.server.remote
Om hetzelfde te doen vanuit Java, zou je JSch kunnen gebruiken , een Java-implementatie van SSH2. Van haar website:
Met JSch kunt u verbinding maken met een sshd-server en port forwarding, X11 forwarding, bestandsoverdracht, enz. gebruiken, en u kunt de functionaliteit ervan in uw eigen Java-programma's integreren. JSch is gelicentieerd onder BSD-stijllicentie.
Kijk bijvoorbeeld eens naar PortForwardingL.java
. Zodra de sessie is verbonden, maakt u uw JDBC-verbinding met MySQL met iets als jdbc:mysql://localhost:1234/[database]
als verbindings-URL.