问题陈述:
访问远程托管的 MySQL 数据库使用来自 Java 的安全 SSH 隧道的服务器
解决方案:
要建立 SSH 隧道并从 Java 连接到远程 MySQL 数据库,您可以利用 JSch 库。以下概述了如何实现此目的:
使用 JSch Session 类从本地创建隧道端口(例如 1234)到远程数据库的端口(例如 3306)
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();
当 SSH 隧道处于活动状态时,您可以与 MySQL 建立 JDBC 连接使用您创建的本地端口的数据库。
import java.sql.Connection; import java.sql.DriverManager; // Establish a JDBC connection Connection connection = DriverManager.getConnection( "jdbc:mysql://localhost:1234/[database]", "username", "password" );
示例用法:
// Example usage: retrieve data from the remote database Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM table_name");
以上是如何使用 SSH 隧道从 Java 安全连接到远程 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!