1、停止mysql服务
systemctl stop mysqld.service
2、编辑配置文件
vim /etc/my.cnf
#在[mysqld]下添加
skip-grant-tables
3、启动mysql服务,直接回车登陆
systemctl start mysqld.service
mysql -uroot -p
4、进入mysql,清空密码
> use mysql;
> update user set authentication_string='' where user='root';
注:mysql8需要先置空密码才可以执行ALTER修改密码
5、关闭不校验密码,修改密码
#1.停止服务
systemctl stop mysqld.service
#2.关闭不校验密码
vim /etc/my.cnf
#3.重启服务
systemctl start mysqld.service
6、登陆mysql,修改密码
#按下回车直接登陆
mysql -uroot -p
#修改密码,新密码需要同时满足:八位数+大小写字母+特殊符号
> use mysql;
> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
> flush privileges;
注:ALTER后面是%还是localhost还是指定IP,取决于mysql中用户配置,可通过以下命令查看
> use mysql;
> select user,host from user;