今天在給一臺(tái)電腦配置XAMPP的時(shí)候,在上面的PHPMyAdmin里創(chuàng)建了一個(gè)新的用戶,并且創(chuàng)建了密碼,但是卻一直無(wú)法使用這個(gè)賬戶登錄到MySQL里。
使用PHPMyAdmin的話,會(huì)提示登錄失敗。而直接在命令行登錄的話,會(huì)提示ERROR 1045 (28000): Access denied for user 'laravel'@'localhost' (using password: YES)。如下圖:

使用命令行登錄錯(cuò)誤
按照網(wǎng)上說的解決方案,我嘗試了使用root賬戶這個(gè)laravel賬戶進(jìn)行授權(quán),直接把a(bǔ)ll privileges授權(quán)給它,但是還是登錄不成功。
最后,經(jīng)過多次嘗試后,我終于發(fā)現(xiàn)了問題所在:MySQL中默認(rèn)存在一個(gè)用戶名為空的賬戶,只要在本地,可以不用輸入賬號(hào)密碼即可登錄到MySQL中。而因?yàn)檫@個(gè)賬戶的存在,導(dǎo)致了使用密碼登錄無(wú)法正確登錄。

不用任何賬號(hào)密碼即可在本機(jī)登錄進(jìn)MySQL
解決方案:
只要通過root賬戶登錄,然后將該賬戶刪除即可:
mysql -u root # 以root賬戶登錄MySQL
use mysql #選擇mysql庫(kù)
delete from user where User=''; #刪除賬號(hào)為空的行
flush privileges; #刷新權(quán)限
exit #退出mysql
現(xiàn)在,就可以使用剛才創(chuàng)建的賬戶和密碼登錄了:

登錄成功
感謝您的閱讀!
本賬號(hào)已經(jīng)不再更新,更多文章請(qǐng)移步我的個(gè)人博客https://www.zacharyjia.me