3

このコードを考えると:

package db;

import java.sql.*;

public class Main
{
    public static void main (String[] args) throws ClassNotFoundException, SQLException
    {

        Class.forName("com.mysql.jdbc.Driver");

        String string = "jdbc:mysql://localhost:3306/testdb";

        Connection con = DriverManager.getConnection(string , "root" , "root");
        PreparedStatement statement = con.prepareStatement("select * from name");
        ResultSet result = statement.executeQuery();
        while (result.next())
        {
            System.out.println(result.getString(1) + " " + result.getString(2));
        }


    }
}

私はmysqlサーバーに接続しようとしていますが、これを取得します:

Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2397)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at db.Main.main(Main.java:14)

14は次のとおりです。Connection con = DriverManager.getConnection(string , "root" , "root");

MySqlインストール時にパスワードを入力したと確信していますroot。念のため、ここに入力しました : これに,

次のようにパスワードをroot:ここに画像の説明を入力に変更しましたが、まだ正しい出力が得られません。

何が問題なのですか?

ありがとう

備考: 明確にするために、私は以下を使用しています:

  1. Web 開発者向けの Eclipse Java EE IDE。

  2. トムキャット7

  3. ザンプ

4

3 に答える 3

2

スレッド「メイン」の例外 java.sql.SQLException: ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)

ユーザーが localhost にアクセスする権限を持っていない場合、このエラーが発生します。

localhost から root へのアクセスを許可する必要があります。

あなたがそれを追加したように。設定のある行に問題があるとは思えませpassword='NO'mySQL

于 2012-07-17T09:14:30.607 に答える
0

ユーザー名とパスワードを使用して次のコマンドを実行します。

grant usage on *`.`* to `devuser@localhost` identified by '`devpassword`';
grant all privileges on `dev.` to `devuser@localhost`;
于 2014-05-04T11:30:21.597 に答える
-1

あなたの問題はphpMyAdminとは何の関係もありません。それは単なるインターフェースです。

それに加えて、パスワードが「NO」の行を削除する必要があると思います

于 2012-07-17T09:10:48.800 に答える