mysql8.0.22忘记密码和重置

时间:2021-02-22 12:44:28   收藏:0   阅读:0

步骤1、修改mysql配置文件

[root@localhost ~]# vi /etc/my.cnf

在底部添加一行

skip-grant-tables

保存退出

重启mysql

[root@localhost ~]# systemctl restart mysqld

步骤2、将root密码置空

[root@localhost ~]# mysql -uroot -p

直接回车

mysql> use mysql

mysql> select host, user, authentication_string, plugin from user;

mysql> update user set authentication_string=‘‘ where user=‘root‘;

mysql> \q

步骤3、改回mysql配置文件

返回步骤1,将添加的一行删或注释掉,保存退出,重启mysql.

[root@localhost ~]# vi /etc/my.cnf

#skip-grant-tables

[root@localhost ~]# systemctl restart mysqld

步骤4、修改root密码

[root@localhost ~]# mysql -uroot -p

直接回车

mysql> ALTER USER ‘root‘@‘%‘ IDENTIFIED BY ‘MyNewPass4!‘;

mysql> select host, user, authentication_string, plugin from user;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host      | user             | authentication_string                                                  | plugin                |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
qH%eL3@wUvYXiOmjuqkVggHwIwYIWZA3.0kpC1HjNaGWxM7EH51cB | caching_sha2_password |
| %         | userbook         | *59B1E18AA534B3A2E3A33430582E9EE06AF3B729                              | mysql_native_password |
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
5 rows in set (0.00 sec)

这时会出现如下显示格式不正确的情况。

(思路:

可通过先将%设置为localhost,

再执行,

mysql> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘MyNewPass4!‘;

将localhost设置为%,

mysql> update user set host=‘%‘ where user=‘root‘;

然后,

mysql> flush privileges;

解决。)

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!