Énoncé du problème :
Accès à une base de données MySQL hébergée sur une base de données distante serveur utilisant un tunnel SSH sécurisé depuis un serveur Java application.
Solution :
Pour établir un tunnel SSH et vous connecter à une base de données MySQL distante depuis Java, vous pouvez exploiter la bibliothèque JSch. Voici un aperçu de la façon d'y parvenir :
Utilisez la classe JSch Session pour créer un tunnel à partir d'un port (par exemple, 1234) au port de la base de données (par exemple, 3306) sur le serveur distant serveur.
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();
Avec le tunnel SSH actif, vous pouvez établir une connexion JDBC à MySQL base de données en utilisant le port local que vous avez créé.
import java.sql.Connection; import java.sql.DriverManager; // Establish a JDBC connection Connection connection = DriverManager.getConnection( "jdbc:mysql://localhost:1234/[database]", "username", "password" );
Exemple Utilisation :
// Example usage: retrieve data from the remote database Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM table_name");
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!