java.sql.SQLException: Access denied for user ‘root‘@‘*.*.*.*‘ (using password: YES)

当使用Navicat和MySQL客户端尝试连接数据库时遇到Access denied错误,可能原因是本地和远程root用户密码不一致。此问题源于密码加密方式更新后,数据中保存的旧密码与实际使用的密码不符。解决方法包括重新设置root用户的本地和远程登录密码,确保两者匹配。通过SQL命令`use mysql; update users set authentication_string='' where user='root';`和`ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';`以及`ALTER USER 'root'@'%' IDENTIFIED BY '你的密码';`可以完成密码更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RT,在连接数据库时发生了Access denied的错误,用Navicat和mysql客户端都进行了尝试,都是不行,最后发现是因为密码不一致问题。(本人之前对密码加密方式进行过更新,导致root用户远程连接和本地连接密码不一致,但在远程连接时还用的新的密码,但是数据里保存的还是旧的密码,导致每次数据库连接认证时总是出现RT错误)

解决方案

重新修改root用户的本地连接密码和远程连接密码

use mysql; 
update user set authentication_string='' where user='root'

## 修改本地登录密码
ALTER user 'root'@'localhost' IDENTIFIED BY '你的密码'

## 修改远程登录密码
ALTER user 'root'@'%' IDENTIFIED BY '你的密码'

Done

参考方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值