MySQL8 Can't connect to MySQL server on 'localhost' (10061)或Access denied for user 'root'@'localhost' (using password: YES)

Windows10下,MySQL8.0.21,登录失败,错误提示为“Can't connect to MySQL server on 'localhost' (10061)”或“Access denied for user 'root'@'localhost' (using password: YES)”,应该如何操作呢?
找到了一些建议修改my.ini文件,添加“skip-grant-tables = true”的方法,尝试了一下并不能成功……可能因为MySQL版本的原因?
然后就找到了另一种解决方案,尝试成功,记录一下:

1.打开命令提示符(cmd),停止MySQL

net stop mysql

2.跳过MySQL的密码验证

mysqld --console --skip-grant-tables --shared-memory

3.打开一个新的命令提示符(cmd),输入MySQL登录命令,无需输入密码,直接回车即可登录。

mysql -u root -p

4.重置密码,将密码设为空

use mysql
update user set authentication_string='' where user='root'; #将密码设为空

5.退出MySQL

quit

6.关闭设置跳过MySQL密码验证以及重置MySQL密码的命令提示符,并以管理员身份重新运行一个新的命令提示符。

7.启动MySQL服务

net start mysql

8.以无密码形式登录MySQL,无需密码,直接回车

mysql -u root -p

9.修改root密码,然后退出登录并以新密码尝试登录,登录成功则表示本次密码重置完成了

# 下图中新密码以123456为例
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

# 退出
quit

# 尝试以新密码重新登录
mysql -u root -p

posted @ 2020-09-18 11:58  LukeSteven  阅读(557)  评论(0编辑  收藏  举报