gpt4 book ai didi

mysql - JDBC/MYSQL : java. sql.SQLException:用户 'root' @'localhost' 的访问被拒绝(使用密码:NO)

转载 作者:行者123 更新时间:2023-11-29 14:40:08 25 4
gpt4 key购买 nike

使用此代码

String url = "jdbc:mysql://localhost/mysql";
Connection con = DriverManager.getConnection(url, "root", "");

我收到以下异常。

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4113)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1308)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2336)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
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:381)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at MyTest1.main(MyTest1.java:29)

我使用命令工具以root身份登录数据库,没有密码。我能够远程登录到数据库并收到此消息

N
5.5.17-log
7{*Zj%u☻ǧ|tR}=Vz'L,6imysql_native_password"

最佳答案

连我也面临同样的问题。但是,在我的申请中,我犯了一个错误,比如忘记提供密码。您可以尝试手动登录 MySQL 并检查您用于登录的用户名和密码是什么。您可以在 URL 中使用相同的详细信息。最好也给出数据库名称。就像下面这样对于 MySQL:

String url = "jdbc:mysql://localhost:3306/mysql";
Connection con = DriverManager.getConnection(url, "root", "");

在上面,您忘记提供 MySQL 的端口号。您可以检查您的 MySQL 是否有端口号。默认情况下,MySQL 端口号为 3306。最好创建并使用自己的数据库。

如果上述方法不起作用,请尝试将所有权限授予用户数据库上的 root 用户。要授予以下所有权限,请执行以下查询:

GRANT ALL PRIVILEGES ON mysql.* TO 'root'@'localhost' WITH GRANT OPTION;

否则

GRANT ALL PRIVILEGES ON mysql.* TO 'root'@'localhost' IDENTIFIED BY 'root';

关于mysql - JDBC/MYSQL : java. sql.SQLException:用户 'root' @'localhost' 的访问被拒绝(使用密码:NO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8147627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com