문제 설명:
원격에서 호스팅되는 MySQL 데이터베이스에 액세스 Java의 보안 SSH 터널을 사용하는 서버
해결책:
SSH 터널을 설정하고 Java에서 원격 MySQL 데이터베이스에 연결하려면 JSch 라이브러리를 활용할 수 있습니다. 이를 달성하는 방법에 대한 개요는 다음과 같습니다.
JSch 세션 클래스를 사용하여 로컬에서 터널을 생성합니다. 포트(예: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!