环境centos7,软件mysql8,如果忘记密码,需要进行以下操作:
1.在/ect/my.cnf添加skip-grant-tables
2.重启mysqld服务:systemctl restart mysqld
3.以无密码方式登录mysql:mysql -uroot
4.修改登陆密码为空:uptate mysql.user set authentication_string='' where user='root'
5.注释掉加在my.cnf里的跳过权限表命令
6.重启mysqld服务:systemctl restart mysqld
7.以空密码的形式登录mysql:mysql -uroot
8.修改新密码:alter user 'root'@'localhost' identified by 'passwd' #passwd为需要设置的新密码(如设置复杂密码跳过下9-12)
9.注意:mysql8默认的密码策略为medium,如果设置简单密码会报错。
10.此时需要修改一下密码策略或设置相对复杂密码,查看一下当前密码策略:
show variables like 'validate_password%';
11.修改默认的密码策略:set global validate_password.policy=LOW;
12.重新设置密码:alter user 'root'@'localhost' identified by 'passwd' #passwd为需要设置的新密码
13.用新密码登录mysql,enjoy it.