解决 java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES)

报错内容: java.sql.SQLException: Access denied for user ‘root’@‘localhost’
(using password: YES)

数据库抛出一个异常: 用户使用密码访问数据库时遭到无情拒绝

解决思路:

  1. 密码错误,重设数据库密码再登录

  2. 数据库并没有给你分配足够的权限

解决步骤

  1. 检查Springboot中的配置文件,检查端口中的用户名和密码是否正确
    请添加图片描述
  2. 调出MySQL的命令行窗口,使用密码登录
    请添加图片描述
    可以成功登录,证明不是密码错误导致的问题
    请添加图片描述
    如果是密码错误,可采用下面方式解决

切换表到mysql

use mysql

重置密码

update mysql.user set password=PASSWORD(‘000000’) where User=‘root’;

update mysql.user set authentication_string=PASSWORD(‘000000’) where
User=‘root’;

上面两句的作用一样,主要看数据库的版本,我的数据库版本为5.7.17,用的是第二条语句,但是没有解决问题

  1. 只能考虑数据库没有给咱分配足够的权限

    使用下面sql语句,用来给root 用户提升权限:

GRANT ALL PRIVILEGES ON . TO ‘root’@‘127.0.0.1’ IDENTIFIED BY
‘root’;

  1. 重启mysql

此电脑–> 右键–>管理–> 应用于服务 --> 找到mysql进程,右键重启即可

  1. 重新访问数据库
    请添加图片描述
    问题解决,记录一下
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐