1、先修改my.cnf文件使其可以不用密码登录MySQL数据库
vim /etc/my.cnf
在最后一行添加 skip-grant-tables
2、关闭MySQL服务器后重启MySQL服务器
停掉服务
systemctl stop mysqld
启动服务
systemctl start mysqld
查看服务是否启动
systemctl status mysqld
3、进入MySQL
输入 mysql -u root -p 后回车不需输入密码直接回车即可直接进入MySQL
4、修改MySQL密码
#切换数据库
use mysql;
#切换完毕后修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'
#如果修改失败刷新一下mysql权限即可
flush privileges;
#刷新完毕再次尝试
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'
#修改完毕后推出数据库
exit
5、设置完密码后再次进入my.cnf文件中将第一次添加的代码删掉然后重启MySQL在通过密码进入MySQL后再次更改密码
(注意问题:1、设置的临时密码不能太简单,必须复杂不然会提示无法设置成功2、如果 提醒’root’@'localhost’不存在的话,select host,user,plugin from user;查看一下root下的host是localhost还是%,如果是%这需要改为‘root’@;%'才可以 3、如果提示因为密码策略无法修改密码可通过命令:SET GLOBAL validate_password.policy=LOW;来降低密码策略的复杂度)