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

 

posted @   mrdongdong  阅读(298)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示