Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyambung dengan Selamat ke Pangkalan Data MySQL Jauh melalui Terowong SSH menggunakan Java?

Bagaimana untuk Menyambung dengan Selamat ke Pangkalan Data MySQL Jauh melalui Terowong SSH menggunakan Java?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-06 07:02:11149semak imbas

How to Securely Connect to a Remote MySQL Database via SSH Tunnel using Java?

Mewujudkan Sambungan MySQL melalui SSH dengan Java: Panduan Komprehensif

Pengenalan:

Menyambung ke pangkalan data MySQL jauh melalui terowong SSH dari Java membolehkan anda mengakses pangkalan data dengan selamat. Mari kita mendalami langkah-langkah dan berikan contoh kod ringkas untuk membolehkan anda bermula.

Langkah untuk Menyambung:

Untuk menyambung ke pangkalan data MySQL jauh melalui SSH, ikuti ini langkah:

  1. Buat SSH Terowong:

    • Gunakan klien baris arahan SSH untuk mencipta terowong dari port tempatan (cth., 1234) ke port MySQL pelayan destinasi (cth., 3306).
    • Jalankan yang berikut arahan:

      ssh -L 1234:localhost:3306 mysql.server.remote
  2. Tetapkan Sambungan JDBC Java:

    • Gunakan JSch, pelaksanaan Java bagi SSH2, untuk mewujudkan sesi SSH dan port ke hadapan sambungan ke pangkalan data.
    • Rujuk kepada contoh PortForwardingL.java untuk butiran pelaksanaan.
  3. Sambung ke MySQL:

    • Gunakan JDBC untuk menyambung ke pangkalan data menggunakan sintaks:

      jdbc:mysql://localhost:1234/[database]

Contoh Coretan Kod:

Coretan kod berikut menyediakan contoh sambungan ke pangkalan data MySQL jauh menggunakan JSch dan Java JDBC:

import java.sql.Connection;
import java.sql.DriverManager;

public class RemoteMySQLConnection {

    public static void main(String[] args) throws Exception {
        // Create SSH session
        JSch jsch = new JSch();
        Session session = jsch.getSession("username", "hostname", 22);

        // Set SSH and tunnel parameters
        session.setConfig("StrictHostKeyChecking", "no");
        session.setPortForwardingL(1234, "localhost", 3306);
        
        // Connect SSH session
        session.connect();

        // Establish JDBC connection
        String url = "jdbc:mysql://localhost:1234/database_name";
        String user = "mysql_user";
        String password = "mysql_password";
        Connection conn = DriverManager.getConnection(url, user, password);

        // Execute queries or perform operations on the database
        // ...

        // Close SSH session and database connection
        conn.close();
        session.disconnect();
    }
}

Ingat untuk menggantikan bukti kelayakan pangkalan data sebenar anda dan maklumat pelayan dalam coretan kod.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung dengan Selamat 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