ERROR 1045 (28000): Access denied for user 'xxx'@'localhost' (using password: YES)【奇葩的bug】
# Bug描述
今天周末,在家里學(xué)點新技術(shù),雖然公司分配的任務(wù)沒有完成(滑稽滑稽)
我先創(chuàng)建了一個mysql數(shù)據(jù)庫,用root用戶創(chuàng)建一個新用戶,畢竟項目中使用root是非常危險的,尤其是我這樣的實習(xí)生(再次滑稽)。然后愉快的給它賦予了權(quán)限,切換用戶
然而,不愉快的事情發(fā)生了:
ERROR 1045 (28000): Access denied for user 'xxx'@'localhost' (using password: YES)
密碼錯了?
算了,再敲一遍
fuck,還是錯了
可能設(shè)密碼的時候手抖了
那我就重設(shè)下密碼吧
update user set password=password('密碼') where user='用戶名' ;
然后,看到 0 行被更新???
然后懷著懷疑人生的態(tài)度搜了很久,前一頁的博客都是一樣的,唉~
一通亂操作之后還是沒有x用,都是說改密碼,還有扯php的。。。
# 解決過程
后來無意中進入stackoverflower,然后一看提問,發(fā)現(xiàn)碰到的情況和我一模一樣:
## 提問

## 回答

大意就是你有一個用戶名為空的賬戶,mysql會先匹配它,然后就一直提示你密碼錯誤,刪掉這個匿名用戶,然后執(zhí)行 FLUSH PRIVILEGES;
Delete FROM user Where User='' and Host='localhost';
flush privileges;
# 總結(jié)
然后就可以愉快的登陸成功,開始光榮的增刪改查之旅了


浙公網(wǎng)安備 33010602011771號