sql >> Database >  >> RDS >> Mysql

Maak verbinding met een externe MySQL-database via SSH met behulp van Java

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.



  1. ODP.NET implementeren en configureren om te werken zonder installatie met Entity Framework

  2. Hoe kan ik de volledige rechten van de MySQL-rootgebruiker herstellen?

  3. Hoe Tan() werkt in PostgreSQL

  4. ORA-01264 in fysieke stand-by