MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

JavaでIPアドレスを指定してMySQLに接続する方法

JavaからIPアドレス経由でMySQLデータベースに接続するには、DriverManager.getConnection()メソッドの引数にJDBC形式のMySQL URLを指定します。URL内のホスト名の部分にIPアドレスを記述すれば、ネットワーク上の別マシンで稼働しているMySQLサーバーへ直接接続することが可能です。

JDBC URLの構成要素

接続用URLは次のような形式で記述します。

jdbc:mysql://[IPアドレス]:[ポート番号]/[データベース名]?[オプション]
  • IPアドレス:接続先MySQLサーバーが動作しているマシンのアドレス(例:192.168.43.144)
  • ポート番号:MySQLのデフォルトポートは3306
  • データベース名:接続対象のデータベース(例:web)
  • useSSL=false:SSL暗号化接続を無効化するためのオプション

サンプルコード

以下は、IPアドレスを指定してMySQLへ接続するJavaプログラムの例です。

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

public class JavaIP {
    public static void main(String[] args) {
        String hostURL = "jdbc:mysql://192.168.43.144:3306/web?useSSL=false";
        Connection con = null;
        try {
            con = DriverManager.getConnection(hostURL, "root", "123456");
            System.out.println("connection successful via ip address");
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

実行結果

このプログラムを実行すると、正常に接続できた場合にはコンソールに以下のメッセージが出力されます。

connection successful via ip address

接続時の注意点

  • JDBCドライバーの準備:MySQL Connector/JなどのJDBCドライバーをクラスパスに追加しておく必要があります。
  • リモートアクセスの許可:別のマシンから接続する場合、MySQLサーバー側で外部からのアクセスを許可する設定が必要です。ユーザーのホスト制限やbind-addressの設定を確認しましょう。
  • ファイアウォール:接続先サーバーの3306番ポートが開放されていることを確認してください。
  • 例外処理:接続失敗時に原因を特定できるよう、e.printStackTrace()によるエラー内容の出力を必ず行いましょう。
  1. JavaでMySQLに接続する方法を解説!JDBC接続の基本コード

    JavaとMySQLを接続するには? JavaアプリケーションからMySQLデータベースに接続するには、JDBC(Java Database Connectivity)を使用します。JDBCは、Javaからリレーショナルデータベースへアクセスするための標準APIであり、MySQL用のJDBCドライバ(Connector/J)をクラスパスに追加しておく必要があります。 以下は、Javaのコードを使ってMySQLに接続する基本的なサンプルです。 MySQL接続のサンプルコード import java.sql.Connection; import java.sql.DriverManager; p

  2. JavaとMySQLで現在の日付に月数を追加する方法(INTERVAL句の使い方)

    JavaとMySQLを組み合わせて現在の日付に月数を追加するには、INTERVAL句を使用します。以下がその基本構文です。 String query; query = insert into テーブル名 values(curdate()+interval 追加する月数 month); 現在の日付を確認する まず、curdate()関数を使って現在の日付を確認してみましょう。 mysql> select curdate(); +------------+ | curdate() | +------------+ | 2020-10-25 | +------------+ 1 row in