MySQL8 0修改臨時密碼

2022-05-07 09:36:12 字數 1897 閱讀 8574

解決mysql8.0報錯:unknown system variable 'validate_password_policy'

一、問題描述

1、在安裝mysql8.0時,修改臨時密碼,因密碼過於簡單(如:123456),不符合mysql密碼規範,會觸發乙個報錯資訊:

error 1819 (hy000): your password does not satisfy the current policy requirements。
二、遇到問題

1、解決辦法調整mysql密碼驗證規則,修改 policy 和 length 的值。

2、mysql 5.7 進行如下設定,即可解決問題:

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

3、mysql 8.0 執行**:

mysql> set global validate_password_policy=0;

error 1193 (hy000): unknown system variable 'validate_password_policy'

mysql> set global validate_password_length=1;

error 1193 (hy000): unknown system variable 'validate_password_length'

三、問題解決

1、分析: 可以看到,修改 policy 和 length 的值,在mysql5.7中好使,在mysql8.0中無效。'validate_password_policy' 變數不存在。

2、解決: 先修改乙個滿足的密碼 (如:root_12root)。

補充: validate_password_policy 有以下取值:

policy

tests performed

0 or low

length

1 or medium

length; numeric, lowercase/uppercase, and special characters

2 or strong

length; numeric, lowercase/uppercase, and special characters; dictionary file

預設是1,即medium,所以剛開始設定的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字元。

3、密碼修改後,可用命令檢視 validate_password 密碼驗證外掛程式是否安裝。

mysql> show variables like 'validate_password%';

4、mysql 5.7 檢視密碼驗證外掛程式:

5、 mysql 8.0 檢視密碼驗證外掛程式:

四、問題總結

1、 通過檢視 mysql5.7 和 mysql8.0 密碼驗證外掛程式對比,可知兩個版本中,變數名不一樣。(*_password_policy 和 *_password.policy ) --- 問題原因所在。

2、mysql 8.0 調整密碼驗證規則:

mysql> set global validate_password.policy=0;

mysql>  set global validate_password.length=1;

MySQL 8 0修改密碼

最近系統公升級牽涉到mysql公升級,需要公升級到 mysql 8.0,涉及mysql使用者的密碼修改,特地記錄一下!mysql 8.0前修改密碼的官網連線 在mysql 8.0前,執行 set password password 新密碼 進行密碼修改,在mysql 8.0後,以上的方法使用root...

MySQL8 0登陸 檢視 修改臨時密碼

執行以下 mysql uroot執行結果如下 error 1045 28000 access denied for user root localhost using password no 錯誤的原因是秘密錯誤。初次啟動mysql時系統自動生成了臨時秘密,找到臨時密碼就可以正常登陸 cd var ...

MySQL8 0 忘記密碼 修改密碼

mysql 5.7.9以後廢棄了password欄位和password 函式 authentication string 字段表示使用者密碼,而authentication string欄位下只能是mysql加密後的41位字串密碼。所以需要用一下方式來修改root密碼 alter user root...