Linux MySQL 8.0 忘记密码

不小忘了MySQL的密码,按照书上和网上的内容都没能修改成功,终于在借鉴了多篇文章成功之后找到原因,修改密码成功

修改 MySQL 密码

第一步:关闭 MySQL 进程

systemctl stop mysqld
service mysqld stop
/etc/init.d/mysql stop
kill PID
#以选一个方法即可

第二步:配置 /etc/my.cnf 跳过权限表认证直接登录

# 在【mysqld】模块添加:skip-grant-tables   保存退出
[mysqld]
skip-grant-table

第三步:重启 MySQL 服务,登录进入

systemctl start mysqld
service mysqld start
/etc/init.d/mysql start
#以上选一个方法即可

第四步:刷新权限表,使得权限认证重新生效

flush privileges
注意:网上很多文章都没有该步骤,这样会报错的,如下图:


正确应该如下图(新版 MySQL 密码需要设置复杂一些至少8位):

最后:不要忘了把 /etc/my.cnf 修改回来,重启

原文地址:https://www.cnblogs.com/it-abel/p/9521186.html