1

マシン上にリモート mysql データベース サーバーをセットアップしておりmyuniversity.edu、サーバーの名前は ' localhost' です。その上に、「 」という名前のデータベースがありますMyDatabase

I want to connect it through Java.

The connection urls that I have tried are:
    jdbc:mysql://myuniversity.edu/localhost
    jdbc:mysql://myuniversity.edu/localhost/MyDatabase
    jdbc:mysql://myuniversity.edu:3306/MyDatabase

but I get the `Connection refused: connect` exception.

この場合の接続 URL を教えてください。

4

3 に答える 3

3

マシン名がmyuniversity.eduであるかどうかはよくわかりません。代わりに、接続文字列を使用して IP アドレスを試すことができます。Localhostはループバック ネットワーク インターフェイスの名前であり、そのマシンでのみアクセスできます。また、mysql のデフォルト ポート(3306 の可能性があります)が開いているかどうかも確認してください。IP アドレスを使用すると、接続文字列は次のようになります。

jdbc:mysql://192.168.0.123/MyDatabase

IP とポートを使用すると、次のようになります。

jdbc:mysql://192.168.0.123:3306/MyDatabase

(上記の文字列の IP を置き換える必要があります)

于 2013-02-20T06:26:12.393 に答える
0

わかりましたので、問題を修正するために私がしたことは次のとおりです。

  • my.cnfファイルで、バインド アドレスを「127.0.0.1」から「ホスト IP アドレス」に変更しました。これにより、リモート mysql サーバーへの接続が許可されますが、それに接続しようとするリモート ホストへのアクセスは許可されません。
  • これを修正するために、ユーザー テーブルにホスト '%' のエントリを追加しました。これにより、リモート ホストがデータベースに接続できるようになります。

これで、データベースに接続できますjdbc:mysql://serverIpAddress:3306/MyDatabase

于 2013-02-20T08:42:02.327 に答える
0

(IP)アドレスなしでリモート接続することは不可能です。このアプローチを試してください

インターネット経由で接続したい場合:

  1. コンピューターで CMD を開く

  2. CMD で ping myuniversity.edu (例: ping google.com) と入力すると、Web サイトの IP アドレスが取得され、その IP アドレスをコピーできます。

次に、このアプローチを試してください:

Connection con;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://THE IP ADDRESS :3306/DatabaseName");
System.out.println("CONNECTED");
}catch(Exception ex)
{
System.out.println(ex.getMessage());
}
于 2013-02-20T06:50:57.847 に答える