Access denied for user ‘root‘@‘localhost‘ (using password: YES)系列问题
Posted 364.99°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Access denied for user ‘root‘@‘localhost‘ (using password: YES)系列问题相关的知识,希望对你有一定的参考价值。
1.bug描述
登录mysql,报错如下:
2.解决过程
-
修改配置文件为无密码登录:
vim /etc/my.cnf
在[mysqld]下一行添加,保存退出
skip-grant-tables
-
重启mysql,并登录
sudo systemctl restart mysqld
-
重置密码:
刷新权限flush privileges;
重置root用户密码
set password for 'root'@'localhost' = password('admin');
结果报错:
-
赶紧检查我的用户表的用户
如上图所示,没有root用户 -
新建root用户,并设置好密码
create user 'root'@'localhost' identified by '123456';
然后报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
那么修改密码策略和最短长度:set global validate_password_policy=0; set global validate_password_length=1;
再次创建用户设置密码,提示失败:
可能是上一步创建了root用户,直接删除干净:drop user 'root'@'localhost' flush privileges;
tn的,终于创建成功了
创建成功之后,记得刷新权限:flush privileges;
然后
exit
退出 -
修改配置文件,开启密码验证
就是注释掉刚才加载配置文件中的skip-grant-tables
重启mysql,并登录
sudo systemctl restart mysqld
终于登录成功了
以上是关于Access denied for user ‘root‘@‘localhost‘ (using password: YES)系列问题的主要内容,如果未能解决你的问题,请参考以下文章
ERROR 1142 (42000): GRANT command denied to user ** 或 ERROR 1045 (28000): Access denied for user
ERROR 1045 (28000): Access denied for user ‘root‘@
MySql access denied for user错误