Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL8.0登录时出现Access denied

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

作者:Flocexxxx

这篇文章主要给大家介绍了解决MySQL8.0登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES) 拒绝访问的问题,文中有详细的解决方法,需要的朋友可以参考下

今天在正常打开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服务,就可以进了

到此这篇关于MySQL8.0登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES) 拒绝访问的完美解决的文章就介绍到这了,更多相关MySQL8.0登录时出现Access denied内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文