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
Lepaskan: 2024-12-01 20:00:13
asal
418 orang telah melayarinya

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]";

        // ...
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan