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