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
Lepaskan: 2024-12-06 07:02:11
asal
158 orang telah melayarinya

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
      Salin selepas log masuk
  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]
      Salin selepas log masuk

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();
    }
}
Salin selepas log masuk

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!

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