Heim > Datenbank > MySQL-Tutorial > Wie kann ich mithilfe von SSH-Tunneling eine sichere Verbindung zu einer Remote-MySQL-Datenbank von Java aus herstellen?

Wie kann ich mithilfe von SSH-Tunneling eine sichere Verbindung zu einer Remote-MySQL-Datenbank von Java aus herstellen?

Mary-Kate Olsen
Freigeben: 2024-11-29 05:11:15
Original
492 Leute haben es durchsucht

How to Securely Connect to a Remote MySQL Database from Java using SSH Tunneling?

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

Problemstellung:

Zugriff auf eine MySQL-Datenbank, die auf einem Remote-Server gehostet wird Server über einen sicheren SSH-Tunnel von einem Java Anwendung.

Lösung:

Um einen SSH-Tunnel einzurichten und von Java aus eine Verbindung zu einer entfernten MySQL-Datenbank herzustellen, können Sie die JSch-Bibliothek nutzen. Hier ist eine Übersicht, wie Sie dies erreichen können:

  1. Erstellen Sie einen SSH-Tunnel:

Verwenden Sie die JSch-Session-Klasse, um einen Tunnel von einem lokalen aus zu erstellen Port (z. B. 1234) zum Port der Datenbank (z. B. 3306) auf der Fernbedienung Server.

import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

// Establish an SSH session
JSch jsch = new JSch();
Session session = jsch.getSession("username", "remoteServerAddress", 22);

// Set connection parameters
session.setPassword("password");
session.setPortForwardingL(1234, "localhost", 3306);

// Connect to the SSH server
session.connect();
Nach dem Login kopieren
  1. JDBC-Verbindung zu MySQL herstellen:

Bei aktivem SSH-Tunnel können Sie eine JDBC-Verbindung zu MySQL herstellen Datenbank unter Verwendung des von Ihnen erstellten lokalen Ports.

import java.sql.Connection;
import java.sql.DriverManager;

// Establish a JDBC connection
Connection connection = DriverManager.getConnection(
  "jdbc:mysql://localhost:1234/[database]", 
  "username", 
  "password"
);
Nach dem Login kopieren

Beispiel Verwendung:

// Example usage: retrieve data from the remote database
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM table_name");
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von SSH-Tunneling eine sichere Verbindung zu einer Remote-MySQL-Datenbank von Java aus herstellen?. 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