ホームページ >データベース >mysql チュートリアル >Java を使用して SSH トンネル経由でリモート MySQL データベースに安全に接続する方法

Java を使用して SSH トンネル経由でリモート MySQL データベースに安全に接続する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-06 07:02:11149ブラウズ

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

Java を使用した SSH 経由の MySQL 接続の確立: 総合ガイド

概要:

Java から SSH トンネル経由でリモート MySQL データベースに接続すると、データベースに安全にアクセスできます。手順を詳しく説明し、開始するための簡潔なコード例を提供します。

接続手順:

SSH 経由でリモート MySQL データベースに接続するには、次の手順に従います。手順:

  1. SSH を作成するトンネル:

    • SSH コマンドライン クライアントを使用して、ローカル ポート (例: 1234) から宛先サーバーの MySQL ポート (例: 3306) へのトンネルを作成します。
    • 次を実行しますコマンド:

      ssh -L 1234:localhost:3306 mysql.server.remote
  2. Java JDBC 接続の確立:

    • の Java 実装である JSch を使用します。 SSH2: SSH セッションを確立し、接続をポート転送します。
    • 実装の詳細については、PortForwardingL.java の例を参照してください。
  3. MySQL に接続します:

    • JDBC を使用してデータベースに接続します。構文:

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

コード スニペットの例:

次のコード スニペットは、 JSch と Java を使用したリモート MySQL データベース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();
    }
}

コード スニペット内の実際のデータベース認証情報とサーバー情報を忘れずに置き換えてください。

以上がJava を使用して SSH トンネル経由でリモート MySQL データベースに安全に接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。