0

phpmyadmin(wamp) を使用して mysql データベースを作成しました。私のPCのIPアドレスを使用して、他のPCからデータベースを見ることができます。ただし、Java コードを実行してデータベースからエントリを取得すると、エラーが発生します。ホスト PC のファイアウォールは既に無効にしています。ここに私のコードがあります:

/*
  • このテンプレートを変更するには、[ツール] | [ツール] を選択します。テンプレート * エディターでテンプレートを開きます。*/パッケージワンプ;

java.sql.Connection をインポートします。java.sql.DriverManager をインポートします。java.sql.ResultSet をインポートします。import java.sql.SQLException; java.sql.Statement をインポートします。

/** * * @author user */ public class Wamp {

/**
 * @param args the command line arguments
 */

    // TODO code application logic here
    public static void main(String args[]) throws InstantiationException, IllegalAccessException
{
    try{
        Class.forName("com.mysql.jdbc.Driver").newInstance();
             Connection con = DriverManager.getConnection("jdbc:mysql://192.168.1.2:3306/test","root",""); 
                Statement stmt=con.createStatement();
              // stmt.executeUpdate("Insert into student values(1,'abc','nagpur')");
                ResultSet rs= stmt.executeQuery("Select names from sample where id=15");
                rs.next();
               String name= rs.getString("names");               
                System.out.println(name);
                System.out.println("DOne..");
               //INSERT INTO `student`(`id`, `name`, `address`) VALUES (1,'amol','nagpur');
            con.close();

          }
catch(ClassNotFoundException | SQLException e){
    System.out.println("error"+e);
}

}

}

エラーメッセージは次のとおりです。

errorjava.sql.SQLException: null, message from server: "Host 'user-PC.Home' is not allowed to connect to this MySQL server
4

4 に答える 4

2

これは、他の PC に MySQL データベースに接続するための正しいアクセス許可を与えていないためです。Google でエラーを検索すると、答えが見つかります。

まず、ユーザー PC に ping を実行して IP アドレスを取得します。

Ping user-PC

次に、MySQL データベースにログインして、

ユーザーPCのIPアドレス

MySQL データベースに接続する権限:

use mysql
GRANT ALL ON *.* to root@'user-PC' IDENTIFIED BY 'your-root-password';
FLUSH PRIVILEGES;
于 2013-10-01T07:05:10.950 に答える
1

これは、リモート アクセスの許可を与えていないためです。リモート システムから mysql にアクセスするには、許可を与える必要があります。以下の方法を試してください

GRANT ALL ON *.* to '%'@'%' WITH GRANT OPTION;

上記はすべてへのアクセスを許可しますが、ホーム ネットワークの特定の IP へのアクセスを許可する場合は、この方法を試してください。

 GRANT ALL ON *.* to '%'@'192.168.%' WITH GRANT OPTION;

次のリンクが役立つ場合があります

リンク1

リンク2

于 2013-10-01T06:57:05.453 に答える
1

タイプ

GRANT ALL ON *.* to '%'@'%' WITH GRANT OPTION;

あなたのphpmyadmin sqlインターフェースで

于 2013-10-02T06:59:51.317 に答える
0

これは、同じネットワーク内の他の PC へのアクセスを許可しなかったためです。

GRANT ALL ON *.* to '%'@'192.168.%' WITH GRANT OPTION;

同様の質問リンク: How to access MySQL from a remote computer (not localhost)?

于 2013-10-01T06:59:35.727 に答える