MYSQL Access denied for user root@localhost解决方法(Windows)
出现错误:
问题解决:
- 编辑MYSQL的配置文件my.ini文件,一般在MYSQL的安装目录下,在[mysqld]这个条目下加入 skip-grant-tables 保存后退出
- 右击“开始”,打开 Windows PowerShell(管理员)(A)
- 停止运行mysql:输入 net stop mysql
- 再启动mysql:输入 net start mysql,成功后输入 mysql -u root -p 就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)
- 接着进入MySQL数据库:输入 use mysql;
- 然后给root用户设置新密码:第一种(mysql-5.7之前的版本):输入 update user set password=password("新密码") where user="root"; 第二种(mysql-5.7之后的版本):输入 update user set authentication_string=PASSWORD('新密码') where user='root';
- 最后刷新数据库:输入 flush privileges;
- 退出mysql:输入 quit;
- 最后最后将之前在my.ini文件里加的 skip-grant-tables 删除后保存退出
-
重启MySQL,成功
另外,若还出现Access denied for user root@localhost错误,建议参考该链接➡ https://jingyan.baidu.com/article/f7ff0bfcb914916e26bb13ac.html 可能更能成功也更为清楚!