Heim > Datenbank > MySQL-Tutorial > Wie stellt man über SSH-Tunneling in Java eine Verbindung zu einer Remote-MySQL-Datenbank her?

Wie stellt man über SSH-Tunneling in Java eine Verbindung zu einer Remote-MySQL-Datenbank her?

Patricia Arquette
Freigeben: 2024-11-29 10:28:11
Original
684 Leute haben es durchsucht

How to Connect to a Remote MySQL Database via SSH Tunneling in Java?

Herstellen einer Remote-MySQL-Verbindung über SSH in Java

Das Herstellen einer Verbindung zu einer Remote-MySQL-Datenbank über SSH von einer Java-Anwendung aus kann erreicht werden durch die Nutzung einer Kombination aus SSH-Tunneling und JDBC. So können Sie es machen:

SSH-Tunneling

  1. Richten Sie auf Ihrem lokalen Computer einen SSH-Tunnel ein, um Port 1234 auf Ihrem Computer an Port 3306 weiterzuleiten auf dem Remote-MySQL-Server. Führen Sie dazu mit dem Befehlszeilen-Client von SSH Folgendes aus: ssh -L 1234:localhost:3306 mysql.server.remote
  2. Verwenden Sie die JSch-Bibliothek von Java, um eine SSH-Sitzung zu erstellen, die Port 1234 an den Remote-Server weiterleitet.

JDBC Verbindung

Sobald der SSH-Tunnel eingerichtet ist, können Sie JDBC verwenden, um eine Verbindung zur MySQL-Datenbank herzustellen:

  1. Erstellen Sie ein java.sql.Connection-Objekt und geben Sie die JDBC-URL an als jdbc:mysql://localhost:1234/[database].
  2. Authentifizieren Sie sich mit Ihrem MySQL-Anmeldeinformationen und fahren Sie mit Ihren Datenbankoperationen fort.

Codebeispiel

Hier ist ein einfaches Codebeispiel, um die Verbindung zu demonstrieren:

import com.jcraft.jsch.*;
import java.sql.*;

public class ConnectToRemoteMySQLThroughSSH {

   public static void main(String[] args) throws JSchException, SQLException {
      // SSH Session Setup
      JSch jsch = new JSch();
      Session session = jsch.getSession("username", "host", 22);
      session.setConfig("StrictHostKeyChecking", "no");
      session.setPassword("password");
      session.connect();

      // Port Forwarding
      session.setPortForwardingL(1234, "localhost", 3306);

      // JDBC Connection
      Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:1234/[database]", "root", "password");

      // Database Operations...

      connection.close();
      session.disconnect();
   }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie stellt man über SSH-Tunneling in Java eine Verbindung zu einer Remote-MySQL-Datenbank her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage