今天弄前后端项目的时候发现数据库查询错误,才发现打印出来错误如下:
“msg”: “er_access_denied_error: access denied for user ‘root’@‘localhost’ (using password: yes)”
是数据库密码错误了,发现记忆出错了,忘掉了数据库密码
查看密码
使用某个可视化软件,执行下列sql语句
可以看到所有的用户和对应用户的密码
select *from mysql.user;
把密码复制去一个解密的md5网站md5解密网站,就可以知道数据库密码了
密码期效已过期
执行sql查询又报错误如下:
er_must_change_password_login: your password has expired. to log in you must change it using a client that supports expired passwords."
这个好解决。
- 方法一:可以在上述可视化软件中把 y 改成 n 执行 apply 即可
- 方法二:使用sql语句(可以在命令行执行,也可以在sql中执行)
假设是sql语句,直接执行
set password for root@localhost = password('123456');
这样重新修改密码(可以为原密码)密码会重新计算时间,就不过期啦
假设是命令行,进入mysql 对应的bin 目录,文件路径输入cmd打开控制台,输入mysql -u root -p
,输入第一步已经知道的密码
控制台输入
alter user user() identified by '123456'; #123456为密码
再输入修改密码的字段(可以为原密码)
set password for root@localhost = password('123456');
但是不论方法一还是方法二需要重启mysql或者可视化的工具台再生效
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论