今天使用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> use
mysql;
database changed
mysql> delete from user where user='';
query ok, 1 row affected (0.00 sec)
mysql> flush privileges;
query ok, 0 rows affected (0.00 sec)
mysql> exit;
mysql -u ubermensch -p
enter password: *******
welcome to the mysql monitor.
centos7賬戶名和密碼都正確 卻怎麼都登入失敗
centos 7 系統 優化系統核心後,賬戶無法登入 輸入的賬號和密碼均正確,絕對沒有錯誤 也沒有禁止登入 報錯為 permission denied。優化核心內容為 錯的,千萬別用 hard nofile 10000000 錯的,千萬別用 hard nproc 10000000 錯的,千萬別用 s...
mysql如何設定使用者名稱和密碼
mysql密碼忘記怎麼辦呢?1 停止mysql服務 2 開啟命令列視窗在mysql安裝目錄bin下執行mysqld nt skip grant tables 如 d mysql bin mysqld nt skip grant tables 3 如果是mysql5.0以上的,可以直接雙擊mysql安...
修改mysql的使用者名稱和密碼
首頁進入mysql bin目錄,然後按順序輸入命令 進入mysql mysql u root p 改mysql使用者名稱 mysql use mysql mysql update user set user 新使用者名稱 where user 舊使用者名稱 mysql flush privilege...