首页 >数据库 >mysql教程 >如何使用 SSH 隧道从 Java 安全连接到远程 MySQL 数据库?

如何使用 SSH 隧道从 Java 安全连接到远程 MySQL 数据库?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-29 05:11:15513浏览

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

使用 Java 通过 SSH 连接到远程 MySQL 数据库

问题陈述:

访问远程托管的 MySQL 数据库使用来自 Java 的安全 SSH 隧道的服务器

解决方案:

要建立 SSH 隧道并从 Java 连接到远程 MySQL 数据库,您可以利用 JSch 库。以下概述了如何实现此目的:

  1. 创建 SSH 隧道:

使用 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();
  1. 建立与 MySQL 的 JDBC 连接:

当 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn