JDBC拒绝使用指定的密码

问题描述 投票:0回答:3

我收到一个SQLInvalidAuthorizationSpecException,带有“拒绝对用户'someuser'@'localhost'的访问(使用密码:否”]

mysql = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/somedb/",
    "someuser",
    "somepassword"
);

如您所见,确实已指定了密码,但是驱动程序认为不应使用该密码。我究竟做错了什么?我100%确保凭据正确。

我也尝试过在连接字符串中指定所有内容,如下所示:

mysql = DriverManager.getConnection("jdbc:mysql://localhost:3306/somedb?user=someuser&password=somepassword");

无济于事。

MySQL社区版本8.0.17

mysql-connector-java版本8.0.19

java mysql jdbc
3个回答
1
投票

在您的MySQL工作台(或命令行)中运行:ALTER USER 'someuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'somepassword'


0
投票

使用此连接字符串

mysql = DriverManager.getConnection("jdbc:mysql://localhost:3306/somedb","someuser","somepassword");

0
投票

似乎与用户有关,但是如果提供了完整的错误消息,将会更加清楚。

© www.soinside.com 2019 - 2024. All rights reserved.