2

私は得続けます:

スレッド「AWT-EventQueue-0」ローカル例外スタックの例外: 例外 [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions .DatabaseException 内部例外: java.sql.SQLException: ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)

しかし、プロジェクト コードの接続情報と MySQL データベースには同じ情報が含まれているため、正しいログイン情報を提供しています。パスワードが間違っていると言い続けるのはなぜですか。私はローカル ホストにいて、ユーザー名は root で、パスワードはありません。

私が使用するプロジェクト変数のコードは次のとおりです。

static final String host = "jdbc:mysql://localhost:3306/myDb";
    static final String uName = "root";
    static final String uPass = "";
    static final String query = "SELECT * FROM customers";
...
    Connection con = DriverManager.getConnection( host, uName, uPass );
4

4 に答える 4

1

あなたのコメントからわかることは、ローカルホストに接続しているときはいつでもソケットから接続していると思います(ローカルホストを提供するときのmysqlクライアントのデフォルトの動作)。

次のことを試してください。

CREATE USER 'root'@'localhost IDENTIFIED BY "";
GRANT ALL PRIVILEGES to 'root'@'localhost';
FLUSH PRIVILEGES;

今すぐ接続できるかどうか教えてください。現在、空のパスワードとすべての権限を持つ root アカウントがあることに注意してください。

于 2012-04-03T15:43:58.853 に答える
1

パスワードが空白の場合に問題が発生します。
次のように変更します。

cmd
mysqladmin -u root -p password "newpassword"

そして、テストします:
mysql -u root -p

于 2012-04-09T21:02:44.527 に答える
1

localhost の root パスワードは設定されていますか? しばらく経ちましたが、localhost は常に 127.0.0.1 と同じとは限らず、root のパスワードにはデフォルトの関連付けられたホストとして localhost が含まれていない場合があります。

于 2012-04-03T15:07:23.177 に答える
1

localhost から来た場合、DB にアクセスできない可能性があります。

mysql コマンド ライン ツールなどの外部ツールを使用して、ネットワーク層を介して DB に接続してみてください。

于 2012-04-03T15:07:54.440 に答える