sql >> Databasteknik >  >> RDS >> Mysql

Anslut till fjärr MySQL-databas via SSH med Java

Jag förstår att du vill komma åt en mysql-server som körs på en fjärrdator och lyssnar på låt oss säga port 3306 genom en SSH-tunnel.

För att skapa en sådan tunnel från port 1234 på din lokala dator till port 3306 på en fjärrdator med hjälp av kommandoraden ssh-klient, skulle du skriva följande kommando från din lokala dator:

ssh -L 1234:localhost:3306 mysql.server.remote

För att göra samma sak från Java kan du använda JSch , en Java-implementering av SSH2. Från dess webbplats:

JSch låter dig ansluta till en sshd-server och använda portvidarebefordran, X11-vidarebefordran, filöverföring, etc., och du kan integrera dess funktionalitet i dina egna Java-program. JSch är licensierad under BSD-licens.

För ett exempel, ta en titt på PortForwardingL.java . När sessionen är ansluten skapar du din JDBC-anslutning till MySQL med något som jdbc:mysql://localhost:1234/[database] som anslutnings-URL.



  1. Skapa PostgreSQL-ROL (användare) om den inte finns

  2. Hur man listar de föråldrade funktionerna i en SQL Server-instans med T-SQL

  3. IN vs OR för Oracle, vilket snabbare?

  4. MySQL - Hur summerar man tider?