解决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.检查Springboot中的配置文件,检查端口中的用户名和密码是否正确,如果是用别人的数据库可能经常出错
2.调出MySQL的命令行窗口,使用密码登录
可以成功登录,证明不是密码错误导致的问题
如果是密码错误,可采用下面方式解决:
切换表到mysql
use mysql
重置密码
update mysql.user set password=PASSWORD(‘000000’) where User=‘root’;update mysql.user set authentication_string=PASSWORD(‘000000’) whereUser=‘root’;
上面两句的作用一样,主要看数据库的版本,我的数据库版本为5.7.17,用
的是第二条语句,但是没有解决问题
3.只能考虑数据库没有给咱分配足够的权限
使用下面sql语句,用来给root 用户提升权限:
GRANT ALL PRIVILEGES ON . TO ‘root’@‘127.0.0.1’ IDENTIFIED BY‘root’;
4.重启mysql
此电脑–> 右键–>管理–> 应用于服务 --> 找到mysql进程,右键重启即可
5.重新访问数据库 net start mysql
6.如果以上做法还不行,那需要找到项目中application.yml文件,极有可能是因为导入别人的项目,这里的密码没有修改,需要改为自己数据库的密码