MySQL root登录密码重置
本质上是修改mysql库里的user表里的对应的用户的authentication_string
1、停止mysql进程
service mysqld stop
2、修改配置文件/etc/my.cnf
[mysqld]
user=mysql #指定启动mysql进程的用户
skip-grant-tables #跳过密码验证
#vaildate-password=off #需要禁用密码复杂性策略
3、刷新权限
[root@mysql ~]# mysql -uroot -p
Enter password: #此处无需输入密码,直接敲回车即可
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 156
Server version: 5.7.39-log MySQL Community Server (GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
root@(none) 23:08 mysql>
root@(none) 20:51 mysql>alter user 'root'@'localhost' identified by '123456'; #会报错
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
root@(none) 20:57 mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)
#刷新权限(会加载原来没有加载的权限表——》用户名和密码所在的表user等),再敲上面的命令可以成功!
4、改密码
root@(none) 20:51 mysql>alter user 'root'@'localhost' identified by '123456';
5、撤销对配置文件的修改
[mysqld]
user=mysql #指定启动mysql进程的用户
#skip-grant-tables #跳过密码验证
#vaildate-password=off #需要禁用密码复杂性策略
,再敲上面的命令可以成功!
4、改密码
```shell
root@(none) 20:51 mysql>alter user 'root'@'localhost' identified by '123456';
5、撤销对配置文件的修改
[mysqld]
user=mysql #指定启动mysql进程的用户
#skip-grant-tables #跳过密码验证
#vaildate-password=off #需要禁用密码复杂性策略