mysql无法登陆,报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) ,登陆不上
问题描述
在使用命令行登录 MySQL 时出现了下述问题:
出错原因
using password: NO
:表示输入没有输入密码就尝试登陆了using password: YES
:表示输入了密码,但密码错误
解决方案:修改密码
1.修改mysql配置文件my.cnf 。 在 [mysqld] 增加 skip-grant-tables 无密码进入mysql
这样我们就可以通过无密码 或乱输一个 进入到mysql。 通过select user,host from mysql.user; 查看 明明有权限 但登录不了。 直接重置密码就好了
2.密码设置为空 依次输入:
1 2 3 4 5 6 7 8 9 10 11 12 | FLUSH PRIVILEGES; -- 删除原来用户 DROP USER 'root' @ 'localhost' ; DROP USER 'root' @ '%' ; -- 新增用户并设置密码 CREATE USER 'root' @ '%' IDENTIFIED WITH mysql_native_password BY '123123' ; CREATE USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY '123123' ; -- 授权所有数据库 GRANT ALL PRIVILEGES ON *.* TO 'root' @ 'localhost' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'root' @ '%' WITH GRANT OPTION; FLUSH PRIVILEGES; |
3.编辑配置文件 注销掉第一步增加的配置 skip-grant-tables 重启mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)