MySQL使用者名稱和密碼都正確卻無法登陸的問題

2021-07-27 18:14:01 字數 940 閱讀 6920

今天使用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...