ERROR 1045 (28000)- Access denied for user 'xxx'@'localhost' (using password- YES)【奇葩的bug】

本文记录了一次解决MySQL登录时遇到的密码错误问题的过程。通过排除常见原因后,最终发现是因为存在空用户名账户导致的问题,并给出了删除匿名用户及刷新权限的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天周末,在家里学点新技术,虽然公司分配的任务没有完成(滑稽滑稽

 

  我先创建了一个mysql数据库

  然后用root用户创建一个新用户,毕竟项目中使用root是非常危险的,尤其是我这样的实习生(再次滑稽

  再然后愉快的给它赋予了权限,然后切换用户

  再再然后,不愉快的事情发生了:

    ERROR 1045 (28000): Access denied for user 'xxx'@'localhost' (using password: YES)

  密码错了? 

    算了,再敲一遍

      fuck,还是错了

        可能设密码的时候手抖了

          那我就重设下密码吧

            update user set password=password('密码') where user='用户名' ; 

              然后,看到 0 行被更新???

  然后怀着怀疑人生的态度搜了很久,前一页的博客都是一样的,唉~

  一通乱操作之后还是没有x用,都是说改密码,还有扯php的。。。

  

 

  后来无意中进入stackoverflower,然后一看提问,发现碰到的情况和我一模一样:

  然后回答是:

 

  

    大意就是你有一个用户名为空的账户,mysql会先匹配它,然后就一直提示你密码错误,删掉这个匿名用户,然后执行 FLUSH PRIVILEGES;

        

 

    就可以愉快的登陆成功,开始光荣的增删改查之旅了

 

    

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值