mysql 5.7 的版本,因為在user表中沒有password欄位,一直使用下邊的方式來修改root密碼
use mysql;
update
user
set authentication_string = password(「root」)
where
user
= 「root」;
現在要用mysql8.0.11版本,裝好mysql後用上邊方法修改密碼,一直報錯。後來去掉password()函式後,沒有報錯,但是輸入密碼時不對。
查閱後才知道在mysql 5.7.9以後廢棄了password欄位和password()函式;authentication_string:字段表示使用者密碼,而authentication_string欄位下只能是mysql加密後的41位字串密碼。所以需要用一下方式來修改root密碼:
alter
user
'root'@'localhost' identified by 'newpassword';
mysql 從8.0開始修改密碼有了變化,在user表加了字段authentication_string,修改密碼前先檢查authentication_string是否為空
1、如果不為空
use mysql;
update
user
set authentication_string=
''where
user
='root'
;--將字段置為空
alter
user
'root'@'localhost' identified by 'root';
--修改密碼為root
2、如果為空,直接修改
alter
user
'root'@'localhost' identified by 'root';
--修改密碼為root
如果出現如下錯誤
error 1290
(hy000): the mysql server is running with the --skip-grant-tables option so it cannot execute this statement
mysql>
grant
allprivilegeson*
.*to identified by
'123'
with
grant
option
;
需要執行
flush privileges
;
然後再執行
alter
user
'root'@'localhost' identified by 'root';
--修改密碼為root
MySQL8 0 修改root密碼
mysql 5.7 的版本,因為在user表中沒有password欄位,一直使用下邊的方式來修改root密碼 use mysql update user set authentication string password root where user root 現在要用mysql8.0.11版本...
MySQL 8 0修改密碼
最近系統公升級牽涉到mysql公升級,需要公升級到 mysql 8.0,涉及mysql使用者的密碼修改,特地記錄一下!mysql 8.0前修改密碼的官網連線 在mysql 8.0前,執行 set password password 新密碼 進行密碼修改,在mysql 8.0後,以上的方法使用root...
Mysql8 0 版本修改root密碼
今天在linux上面安裝mysql8.0成功後輸入命令嘗試無密碼登入 mysql uroot 結果顯示密碼錯誤,這和mysql5.6後的更新有關,系統會隨機分配乙個臨時密碼給你,這意味著需要輸入臨時密碼才能登入。晚上查資料輸入以下命令可以獲得臨時密碼 a temporary password is ...