数据库的密码要求需要大小写、字母、字符就皆有,这种不常用密码组合就很容易忘记。
忘记密码之后去互联网上搜索解决方案,会发现mysql不同版本之间的区别让人很难受,大多教程实践起来也是失败,在此总结一下mysql 8 的忘记密码操作
操作环境:centos7 + mysql 8
其它环境操作大同小异
1. 配置免密登陆
- 修改配置文件:
并在文件最后加上vim /etc/my.cnf
skip-grant-tables
- 重启mysql:
service mysqld restart
2. 重置密码
-
直接免密登陆:
mysql -u root -p
直接回车登陆
-
置空密码:
进入mysql之后,使用如下查看用户数据:select host, user, authentication_string, plugin from user;
如果user对应的authentication_string不为空,按下面操作置空(示例代码为对root用户操作)
use mysql; update user set authentication_string='' where user='root';
最后退出mysql环境回到shell:
exit
3. 修改密码
-
关闭免密登陆(第一步的反向操作):
vim /etc/my.cnf
去掉最后面的
skip-grant-tables
重启mysql:
service mysqld restart
-
用户登陆并修改密码:
mysql -u root -p
密码直接回车就行(因为第二步我们置空了用户的密码),然后修改用户的密码为你想要的
ALTER user 'root'@'localhost' IDENTIFIED BY 'Pwd1234#';