Mysql8.x 忘记 root 密码修改

找到 mysql 的 .cnf 文件,这个文件一般存放在 /etc/my.cnf ,但是我的存放在 /etc/mysql/my.cnf。

编辑此文件,在最后一行,加上下面内容:

1
skip-grant-table

使用下面命令,重启 mysqld 服务。

1
systemctl restart mysld

此时已经可以不使用密码,登录 mysql 了。在输入密码的时候,直接按回车,登录。

1
mysql -uroot -p

依次输入 sql ,重置密码:

1
2
3
4
use mysql;
update user set authentication_string='' where user='root';
flush privileges;
alter user 'root'@'localhost' identified by '${新密码}';

退出 mysql ,然后删除最开始加入配置文件中的内容,最后重启 mysqld 服务就完成了修改 root 密码。