Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyambung ke Pangkalan Data MySQL Jauh melalui Terowong SSH Menggunakan Java?

Bagaimanakah Saya Boleh Menyambung ke Pangkalan Data MySQL Jauh melalui Terowong SSH Menggunakan Java?

Patricia Arquette
Patricia Arquetteasal
2024-12-01 20:00:13475semak imbas

How Can I Connect to a Remote MySQL Database via SSH Tunnel Using Java?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn