步骤:
1.更改mysql配置文件
vi /etc/my.cnf #进入mysql配置文件
在my.cnf配置文件下添加一下内容
skip-grant-tables #即不校验密码登录
2.重启mysql数据库并登录数据库
systemctl restart mysqld
mysql -u root -p #不用输入密码,直接回车
3.进入数据库后,需要先将root密码置空
update user set authentication_string='' where user = 'root';
4. 清理完成后查看一下密码是否为空
select host,user,authentication_string,plugin from user;
5.退出登录:\q
6.去my.cnf配置5文件里注释掉skip-grant-tables
vi /etc/my.cnf #进入配置文件
7.重启mysql服务
systemctl restart mysqld
8.免密登录mysql
mysql -u root -p
然后直接回车启用mysql,
use mysql
9.修改密码(密码要有大写小写字母特殊字符,还要求长度,如果mysql没有配置密码复杂度则可以设置简单密码。)
alter user 'root'@'localhost' identified by '新设置的密码';
或者
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
10.刷新mysql相关系统权限表,退出
FLUSH privileges;
然后退出数据库\q
11.再次登录数据库,输入新设置的密码登录
mysql -u root -p #登录数据库
回车然后输入新密码就可以登录了