📅  最后修改于: 2023-12-03 15:01:35.329000             🧑  作者: Mango
这个错误通常是在尝试连接到 MySQL 数据库时发生的。它表明用户名和密码组合不正确,或者数据库没有授予用户访问权限。
请确认你正在使用的是正确的用户名和密码。有可能在运行程序时打错了密码,或者数据库已经更改了密码。在 MySQL 控制台中可以输入以下命令更改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
如果你正在尝试使用远程连接,MySQL 数据库可能没有授予你的计算机 IP 地址访问权限。可以在 MySQL 控制台中输入以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'IP' IDENTIFIED BY 'password';
其中,'username'是你的用户名, 'IP' 是允许连接的 IP 地址,'password' 是密码。 '*' 表示所有数据库和表的权限。
在 MySQL 中,每个用户可以授予不同级别的权限。如果你的用户没有足够的权限来访问数据库,那么你需要增加他们的权限。在 MySQL 控制台中输入:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
其中,'username'是你的用户名。'.' 表示所有数据库和表的权限。'WITH GRANT OPTION' 允许该用户授予其它用户访问权限。
当你看到 'java.sql.SQLException: User 'root'@'localhost' Access Denied (using Password: NO)'错误时,首先要检查用户名和密码是否正确。其次,确保你的计算机 IP 地址被正确授权,并检查该用户是否具有足够的权限访问数据库。