MYSQL8 0修改簡單密碼

2021-10-01 04:53:37 字數 1507 閱讀 1179

一、問題描述

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 有以下取值:

預設是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 5.7.9以後廢棄了password欄位和password 函式 authentication string 字段表示使用者密碼,而authentication string欄位下只能是mysql加密後的41位字串密碼。所以需要用一下方式來修改root密碼 alter user 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版本...