解决找回mysql数据库密码和密码过期问题
作者:lanmy_dl
这篇文章主要介绍了解决找回mysql数据库密码和密码过期问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
今天弄前后端项目的时候发现数据库查询错误,才发现打印出来错误如下:
“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或者可视化的工具台再生效
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。