当前位置:   article > 正文

Access denied for user ‘root‘@‘localhost‘ (using password: YES)_access denied for user 'root

access denied for user 'root

问题描述

登录阿里云Linux云服务器上的mysql时报错:

mysql -uroot -pxxxxx
报错:Access denied for user ‘root‘@‘localhost‘ (using password: YES)
  • 1
  • 2

报错原因

大佬来解释一下

解决方法

  1. 如下操作跳过密码验证,先登录进MySQL
vim /etc/my.cnf
  • 1

图中位置添加

skip-grant-tables 
  • 1

在这里插入图片描述
重启MySQL服务

systemctl restart mysqld
  • 1

此时直接输入 mysql 就可以进入到mysql中,不需要输密码了

  1. 重设root账户密码
    若直接修改密码会报错,提示不能修改密码。
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement。
  • 1

所以在修改密码前要刷新下权限表:

mysql> flush privileges;
  • 1

然后再修改密码:

ALTER USER 'root'@'%' IDENTIFIED BY '新密码';
  • 1

密码修改成功后直接退出。把配置文件中加的skip-grant-tables注释了,重启下MySQL服务。再正常登录即可。

PS:如果登录进MySQL后发现root用户没了,就新建一个。

mysql> create user 'root'@'%' identified with mysql_native_password by 'MyNewPass@123';
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/944344
推荐阅读
相关标签
  

闽ICP备14008679号