MYSQL Access denied for user root@localhost解决方法(Windows)

出现错误:

 

 

 问题解决:

  1. 编辑MYSQL的配置文件my.ini文件,一般在MYSQL的安装目录下,在[mysqld]这个条目下加入 skip-grant-tables 保存后退出

     

     

  2. 右击“开始”,打开 Windows PowerShell(管理员)(A)
  3. 停止运行mysql:输入 net stop mysql

      

  4. 再启动mysql:输入 net start mysql,成功后输入 mysql -u root -p 就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)

     

  5. 接着进入MySQL数据库:输入 use mysql;

     

  6. 然后给root用户设置新密码:第一种(mysql-5.7之前的版本):输入 update user set password=password("新密码") where user="root"; 第二种(mysql-5.7之后的版本):输入 update user set authentication_string=PASSWORD('新密码') where user='root';
  7. 最后刷新数据库:输入 flush privileges;

     

  8. 退出mysql:输入 quit;

     

  9. 最后最后将之前在my.ini文件里加的 skip-grant-tables 删除后保存退出

     

     

  10.  重启MySQL,成功

另外,若还出现Access denied for user root@localhost错误,建议参考该链接➡ https://jingyan.baidu.com/article/f7ff0bfcb914916e26bb13ac.html 可能更能成功也更为清楚!

posted @ 2021-04-16 14:48  哦呦aholic  阅读(4172)  评论(0编辑  收藏  举报