8.0版本的MYSQL连接时出现Access-denied-for-user-root-localhost-using-password-YES-的解决方法
场景:mysql正常运行,突然出现数据库掉线后,无法正常连接,客户端软件和程序均无法正常连接访问。
错误提示:Access-denied-for-user-root-localhost-using-password-YES
解决办法:出现问题后,网上搜索相关的解决方案,大部分不管用,因为mysql8.0和5.x不一样。我的版本是8.0.28,操作系统为windows server 2012R2.
提醒:关于网上说的修改my.ini文件等方法,建议不用,很容易造成数据库服务起不来,和一些莫名其妙的错误
正确的解决思路(参考网上)
1.关闭mysql的服务,我的服务器安装的有点问题,我关闭的是mysql80的服务
2.跳过mysql的权限登录认证。管理员权限打开cmd,cd至mysql的安装目录:C:\Program Files\MySQL\MySQL Server 8.0\bin(或者可以直接打开安装目录文件夹 ,在文件夹内shinf+右键,调出cmd命令)
3.cmd命令行输入:
mysqld --console --skip-grant-tables --shared-memory
4.重新打开一个新的cmd命令框,输入:mysql -uroot -p
按回车,提示输入密码,不输入,直接回车,进入mysql
5.这时候就可以操作mysql数据库了
6.我出现的问题是,root用户直接不见了,我通过手动输入命令,创建了一个root用户,重新赋权限,设置密码。
use mysql
update user set authentication_string=’’ where user=‘root’ 如果这个字段有值,先置为空
flush privileges 刷新权限表
alter user ‘root’@‘localhost’ identified by ‘123’ 修改root 密码
7.关闭cmd,启动mysql80数据库服务
8.这时候登录mysql就可以正常的登录了
参考来源:https://blog.csdn.net/qq_48642405/article/details/121718452
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律