ホームページ >データベース >mysql チュートリアル >Java で SSH トンネリング経由でリモート MySQL データベースに接続するにはどうすればよいですか?

Java で SSH トンネリング経由でリモート MySQL データベースに接続するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-29 10:28:11685ブラウズ

How to Connect to a Remote MySQL Database via SSH Tunneling in Java?

Java で SSH 経由でリモート MySQL 接続を確立する

Java アプリケーションから SSH 経由でリモート MySQL データベースへの接続を確立できます。 SSH トンネリングと JDBC の組み合わせを活用します。その方法は次のとおりです。

SSH トンネリング

  1. ローカル マシンで、マシンのポート 1234 をポート 3306 に転送する SSH トンネルを設定します。リモートの MySQL サーバー上で。 SSH のコマンドライン クライアントを使用してこれを行うには、次のコマンドを実行します。 ssh -L 1234:localhost:3306 mysql.server.remote
  2. Java の JSch ライブラリを使用して、ポート 1234 をリモート サーバーに転送する SSH セッションを作成します。

JDBC接続

SSH トンネルが確立されたら、JDBC を使用して MySQL データベースに接続できます。

  1. JDBC URL を指定して java.sql.Connection オブジェクトを作成します。としてjdbc:mysql://localhost:1234/[database].
  2. MySQL 資格情報で認証し、データベース操作を続行します。

コード例

これを示す基本的なコード例を示します。接続:

import com.jcraft.jsch.*;
import java.sql.*;

public class ConnectToRemoteMySQLThroughSSH {

   public static void main(String[] args) throws JSchException, SQLException {
      // SSH Session Setup
      JSch jsch = new JSch();
      Session session = jsch.getSession("username", "host", 22);
      session.setConfig("StrictHostKeyChecking", "no");
      session.setPassword("password");
      session.connect();

      // Port Forwarding
      session.setPortForwardingL(1234, "localhost", 3306);

      // JDBC Connection
      Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:1234/[database]", "root", "password");

      // Database Operations...

      connection.close();
      session.disconnect();
   }
}

以上がJava で SSH トンネリング経由でリモート MySQL データベースに接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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