ERROR 1045 (28000): Access denied for user 'xxx'@'localhost' (using password: YES)【奇葩的bug】
# Bug描述
今天周末,在家里学点新技术,虽然公司分配的任务没有完成(滑稽滑稽)
我先创建了一个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;
Delete FROM user Where User='' and Host='localhost';
flush privileges;
# 总结
然后就可以愉快的登陆成功,开始光荣的增删改查之旅了