mysql5.7和之前的使用者修改密碼方式:
mysql -uroot -e "set password=password(『123』);"
mysql -uroot -p123.com -e "use mysql;update user set authentication_string=password('456') where user='root';"
update mysql.user set authentication_string=password("123") where user='root';
以上三種方法在mysql8.0以後版本中將不能使用,如果使用了將會導致在正確修改密碼是報如下錯誤:
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123';
error 1396 (hy000): operation alter user failed for 'root'@'localhost'
如遇上以上問題請使用update語句先清空authentication_string欄位,然後再修改密碼即可
update user set authentication_string='' where user='root';
alter user 'root'@'localhost' identified with mysql_native_password by '你的密碼';
mysql8.0後請使用alter修改使用者密碼,因為在mysql8.0以後的加密方式為caching_sha2_password,如果使用update修改密碼會給user表中root使用者的authentication_string欄位下設定newpassowrd值,當再使用alter user 'root'@'localhost' identified by 'newpassword'修改密碼時會一直報錯,必須清空後再修改,因為authentication_string欄位下只能是mysql加密後的43位字串密碼,其他的會報格式錯誤,所以在mysql8.0以後能修改密碼的方法只能是:alter user 'root'@'localhost' identified with mysql_native_password by '你的密碼'; MySQL 8 0修改密碼
最近系統公升級牽涉到mysql公升級,需要公升級到 mysql 8.0,涉及mysql使用者的密碼修改,特地記錄一下!mysql 8.0前修改密碼的官網連線 在mysql 8.0前,執行 set password password 新密碼 進行密碼修改,在mysql 8.0後,以上的方法使用root...
MySQL8 0 忘記密碼 修改密碼
mysql 5.7.9以後廢棄了password欄位和password 函式 authentication string 字段表示使用者密碼,而authentication string欄位下只能是mysql加密後的41位字串密碼。所以需要用一下方式來修改root密碼 alter user root...
MYSQL8 0修改簡單密碼
一 問題描述 1 在安裝mysql8.0時,修改臨時密碼,因密碼過於簡單 如 123456 不符合mysql密碼規範,會觸發乙個報錯資訊 error 1819 hy000 your password does not satisfy the current policy requirements。二...