MySQL连接时报错MySQL 8.0 ERROR 3118 (HY000): Access denied for user ‘root‘@‘localhost‘. Account is locked

环境为虚拟机centos7 mysql - u root -p进入mysql时报了这个错误 ,看了网上的帖子说密码输错三次被锁或者不改密码超过期限自动锁定 ,我的应该是因为我把mysql中的user表里一个account_locked字段由‘N’改成了‘Y’ 然后重启了服务,结果进不去了,我还只有这一个账号,具体解决办法如下:
1.进入my.cnf修改文件:

vim /etc/my.cnf 或者 vi /etc/my.cnf

增加一句代码,让mysql跳过密码验证直接登陆:

skip-grant-tables

保存后直接输mysql可以登录进去

 

将表中的account_locked字段值改为N: 

mysql> update mysql.user set account_locked='N';

刷新

mysql> flush privileges;

进入etc/my.cnf     注释: #skip-grant-tables

重启mysql服务:

systemctl restart mysqld

重新登陆连接,成功!!!!

 

 

 

 

 

 

 

 

 

 

版权声明:本文为CSDN博主「和路飞开派对.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_45256737/article/details/121377308