mysql錯誤 "Your password does not satisfy the current policy requirements"


這是 mysql 初始化時,使用臨時密碼,修改自定義密碼時,由於自定義密碼比較簡單,就出現了不符合密碼策略的問題。

如下圖:

 

問題原因:

設置密碼的驗證強度等級達不到標准

 

解決辦法:

1、查看 mysql 初始的密碼策略,
輸入語句 “ SHOW VARIABLES LIKE 'validate_password%';  ” 進行查看,
如下圖:

關於 mysql 密碼策略相關參數

1)、validate_password_length  固定密碼的總長度;
2)、validate_password_dictionary_file 指定密碼驗證的文件路徑;
3)、validate_password_mixed_case_count  整個密碼中至少要包含大/小寫字母的總個數;
4)、validate_password_number_count  整個密碼中至少要包含阿拉伯數字的個數;
5)、validate_password_policy 指定密碼的強度驗證等級,默認為 MEDIUM;
        關於 validate_password_policy 的取值:
        0/LOW:只驗證長度;
        1/MEDIUM:驗證長度、數字、大小寫、特殊字符;
        2/STRONG:驗證長度、數字、大小寫、特殊字符、字典文件;
6)、validate_password_special_char_count 整個密碼中至少要包含特殊字符的個數;

 

2、首先需要設置密碼的驗證強度等級,設置 validate_password_policy 的全局參數為 LOW 即可

set global validate_password_policy=LOW;

 

3、當前密碼長度為 8 ,如果不介意的話就不用修改了,按照通用的來講,設置為 6 位的密碼,設置 validate_password_length 的全局參數為 6 即可

set global validate_password_length=6;
// 注:在默認密碼的長度最小值為 4 ,由 大/小寫字母各一個 + 阿拉伯數字一個 + 特殊字符一個,只要設置密碼的長度小於 3 ,都將自動設值為 4

 

以下操作:

mysql> set global validate_password_policy=0;    //設置密碼驗證(只驗證長度)
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=1;    //設置密碼長度
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER USER USER() IDENTIFIED BY 'root';   //設置密碼
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges ;    //刷新生效
Query OK, 0 rows affected (0.00 sec)

mysql> quit

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM