CentOS7忘记了mysql8的root密码?

0,系统版本:CentOS Linux release 7.9.2009 (Core)

  mysql版本:Ver 8.0.25 for Linux on x86_64 (MySQL Community Server - GPL)。

1,修改文件/etc/my.cnf,增加一行配置

skip-grant-tables

  这一步,使mysql的登录不用验证密码。

2,通过mysql命令就可直接登录mysql,然后执行以下sql语句:  

update user set authentication_string='' where user='root'; 
flush privileges;
--SHOW VARIABLES LIKE 'validate_password%';  --密码过于简单时,修改可能不成功。这一步先查询密码修改策略。
--set global validate_password.length=4;    --将密码位数设置为4
--set global validate_password.policy=LOW;   --密码策略修改为LOW,原值为MEDIUM
alter user 'root'@'localhost' identified by '123456';  --不要学lz,lz头铁硬是要修改为123456
flush privileges;

  到这里,密码修改完毕,还需要重启mysql的服务。

3,最后一步,重启mysqld服务

systemctl restart mysqld

  完美。

4,另外。说一下mysql8的初始密码,

  mysql8的初始密码在这里查看:

cat /var/log/mysqld.log

  

原文地址:https://www.cnblogs.com/longlongogo/p/14957787.html