操作环境:CentOS 7,MySQL 5.7
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
Server version: 5.7.25-log MySQL Community Server (GPL)
条件:忘记MySQL root用户登陆密码
1.修改配置文件,跳过密码验证
#echo "skip_grant_tables" >> /etc/my.cnf
#systemctl restart mysqld
2.登陆mysql,并重置密码
#mysql
>flush privileges;
>alter user 'root'@'localhost' identified by 'New_Password';
如果以上命令无法修改root密码,则使用以下命令直接修改mysql.user表
>update mysql.user set authentication_string = password('New_Password') where user='root' and host='localhost';
3.重启验证
#systemctl restart mysqld
4.修改配置表关闭skip_grant_tables
#sed -ri '/skip_grant_tables/d' /etc/my.cnf
#systemctl restart mysqld