mysql忘记root用户密码


在centos环境安装的mysql数据库,版本号8.0.25,时间久了把root用户密码给忘了,现记录下改密码过程。

1. 修改my.conf配置文件

vim /etc/my.cnf

在[mysqld]下面新起一行,添加skip-grant-tables,它可以让我们免密登录到mysql中

[mysqld]
skip-grant-tables

2. 重启mysql服务

service mysqld restart

重启完成后可以检查下服务状态

service mysqld status

正常会看到running的绿色文字

3. 使用root用户免密登录mysql

mysql -u root -p

屏幕出现Enter password提示时直接按回车键即可

4. 刷新权限

flush privileges;

5. 修改root用户密码

alter user 'root'@'localhost' identified by 'Abcdef-123456';

改密码之前如果漏掉了第4步,会报错

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

改密码时如果新密码太简单,也会报错

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

6. 改完密码后退出mysql,把第1步修改的my.cnf文件还原回去,然后重启mysql,就可以使用新密码登录了。