MySQL8.0登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES) 拒绝访问(完美解决)

本文详细介绍了如何解决MySQL登录时出现Accessdeniedforuserroot的问题,包括停止MySQL服务,修改my.ini文件以跳过权限检查,清空或设置root用户的密码,以及恢复权限系统的过程。
摘要由CSDN通过智能技术生成

今天在正常打开mysql的时候突然提示:Access denied for user 'root'@'localhost' (using password: YES)

在网上搜索了很多文章,尝试了他们的解决方法,发现都没有什么效果,最后结合多个方法的重点进行尝试发现完美解决。

第一步:先将Mysql服务停止运行,这一步很重要

第二步:在Mysql的安装路径中找到 my.ini 文件,右键编辑,在 mysqld 下面输入跳过密码检测

skip-grant-tables

 保存退出文件,切记 切记保存。

第三步:以管理员运行 cmd 也就是俗称的:黑窗口。一定要以管理员运行

第四步:在cmd中输入命令行 mysqld --console --skip-grant-tables --shared-memory

 第五步:再次以管理员运行打开cmd。第二个黑窗口。直接输入 mysql 就进入MySQL里面了

第六步:执行命令:update user set authentication_string ='' where user = 'root'; 清空密码。因为MySql8+, 和以前版本有点不同,user表没有password字段了,而是authentication_string 。

第七步:输入指令:flush privileges;   使改变生效。   exit 退出mysql。

第八步:两个黑窗口都进行关闭,在重新运行两个黑窗口 :第三步至第五步再来一遍

第九步:mysql窗口使用指令:ALTER user 'root'@'localhost' IDENTIFIED BY '123'; 将密码设为123. 就OK了。

最后的最后 将my.ini 文件中的 skip-grant-tables 加上#注释掉就行了,重启mysql服务,就可以进了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值