问题描述:
  安装环境为CentOS7.5,忘记了MySql的登录密码,解决方案如下:

1. 跳过MySQL的密码认证

1.1 在[mysqld]下添加 skip-grant-tables 信息,保存退出

[root@qfx_centos sbin]# vi /etc/my.cnf

Linux环境MySql忘记密码_第1张图片

1.2 重启MySql服务

[root@qfx_centos ~]# systemctl stop mysqld.service
[root@qfx_centos ~]# systemctl start mysqld.service

Linux环境MySql忘记密码

2. 修改MySQL密码

2.1 登录MySql(密码为空,回车即可),刷新权限信息

#登录
[root@qfx_centos ~]# mysql -uroot -p
#更新权限
mysql> flush privileges;

Linux环境MySql忘记密码_第2张图片

2.2 更新密码,刷新权限信息

#更新密码
mysql> alter user 'root'@'localhost' identified by 'abc123_';
#更新权限
mysql> flush privileges;

Linux环境MySql忘记密码_第3张图片

3. 恢复MySql的权限验证功能

3.1 退出MySql,去掉从 /etc/my.cnf 中添加的 skip-grant-tables 信息

#退出
mysql> quit
#编辑 /etc/my.cnf,去掉 skip-grant-tables 信息
[root@qfx ~]# vi /etc/my.cnf

Linux环境MySql忘记密码_第4张图片

3.2 再次重启MySql服务即可

[root@qfx_centos ~]# systemctl stop mysqld.service
[root@qfx_centos ~]# systemctl start mysqld.service

Linux环境MySql忘记密码

4. 测试连接

Linux环境MySql忘记密码_第5张图片