今天使用MySQL時,我創建了一個新用戶: CREATE USER 'ubermensch'@'%' IDENTIFIED BY 'man2017';  然后登陸該用戶時卻一直報錯(密碼正確):  C:/Users/超人林>mysql -u ubermensch -p Enter passWord: ******* ERROR 1045 (28000): access denied for user 'ubermensch'@'localhost' (using password: YES) 后來翻閱網上資料發現MySQL中默認存在一個用戶名為空的賬戶,只要在本地,可以不用輸入賬號密碼即可登錄到MySQL中。mysql在驗證用戶登陸的時候,首先是驗證host列,如果host列在驗證user列,再password列,而現在按照我之前的連接語句:按照host列找到為空的那列(空匹配所有用戶名),所以匹配到了這條記錄,然后發現這條記錄的密碼為空,而我的語句里面有密碼,那么就會報錯。 解決辦法:刪除匿名用戶。
然后就可以登陸用戶了:
mysql -u ubermensch -pEnter password: *******Welcome to the MySQL monitor.新聞熱點
疑難解答