집 >데이터 베이스 >MySQL 튜토리얼 >Java를 사용하여 SSH 터널을 통해 원격 MySQL 데이터베이스에 어떻게 연결할 수 있습니까?
원격 MySQL 데이터베이스 연결을 위해 Java를 사용한 SSH 터널링
Java를 사용하여 SSH 터널을 통해 원격 MySQL 데이터베이스에 연결하는 효과적인 접근 방식 JSch 라이브러리를 활용하는 것입니다. 이 라이브러리를 사용하면 SSH2 연결을 설정하고 포트 전달과 같은 다양한 기능을 활용할 수 있습니다.
포트 3306에서 수신 대기하는 MySQL 서버에 원격으로 액세스하려는 시나리오를 고려해 보세요. 로컬 시스템에서 SSH를 설정할 수 있습니다. 다음과 같이 JSch를 사용하여 터널을 만듭니다.
import com.jcraft.jsch.*; public class SSHMySQLTunnel { public static void main(String[] args) throws Exception { // Replace with SSH server hostname String sshHost = "ssh.server.com"; // SSH port number int sshPort = 22; // Replace with SSH username String sshUsername = "username"; // Replace with SSH password String sshPassword = "password"; // Replace with MySQL server hostname String mysqlHost = "mysql.server.com"; // MySQL port number (assuming 3306) int mysqlPort = 3306; // Local port to forward to (1234 in this example) int localPort = 1234; JSch jsch = new JSch(); Session session = jsch.getSession(sshUsername, sshHost, sshPort); session.setPassword(sshPassword); session.connect(); int assingedPort = session.setPortForwardingL(localPort, mysqlHost, mysqlPort); System.out.println("SSH tunnel established. Forwarded port " + localPort + " to " + mysqlHost + ":" + mysqlPort); // Establish JDBC connection to MySQL using the tunnel String jdbcUrl = "jdbc:mysql://localhost:" + localPort + "/[database]"; // ... } }
SSH 터널이 설정되면 로컬 포트를 사용하여 평소와 같이 MySQL에 대한 JDBC 연결을 활용할 수 있습니다. (1234)가 SSH 터널에 지정되었습니다.
위 내용은 Java를 사용하여 SSH 터널을 통해 원격 MySQL 데이터베이스에 어떻게 연결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!