SSH Tunneling dengan Java untuk Ketersambungan Pangkalan Data MySQL Jauh
Untuk menyambung ke pangkalan data MySQL jauh melalui terowong SSH menggunakan Java, pendekatan yang berkesan adalah untuk memanfaatkan perpustakaan JSch. Pustaka ini memberi kuasa kepada anda untuk mewujudkan sambungan SSH2 dan menggunakan pelbagai ciri seperti pemajuan port.
Pertimbangkan senario di mana anda menyasarkan untuk mengakses dari jauh pelayan MySQL mendengar pada port 3306. Dari mesin tempatan anda, anda boleh mewujudkan SSH terowong menggunakan JSch seperti berikut:
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]"; // ... } }
Setelah terowong SSH ditubuhkan, anda boleh gunakan sambungan JDBC ke MySQL seperti biasa, menggunakan port tempatan (1234) yang dinyatakan dalam terowong SSH.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyambung ke Pangkalan Data MySQL Jauh melalui Terowong SSH Menggunakan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!