該功能是在5.5以後的mysql版本才引入的插件,默認源碼安裝和二進制安裝都沒有啟用該功能,如果沒有開啟該功能設置簡單密碼mysql只是會給予提示但還是會允許通過。
一、啟用強制設置復雜的密碼功能
在my.cnf文件中加入
plugin-load=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
二、查詢與強制設置復雜的密碼相關的設置
show variables like 'validate%';
結果類似如圖
三、與強制設置復雜的密碼相關的設置說明
1、validate_password_policy
代表的密碼策略,可配置的值有以下:默認是MEDIUM
0 or LOW 僅需需符合密碼長度(由參數validate_password_length指定)
1 or MEDIUM 滿足LOW策略,同時還需滿足至少有1個數字,小寫字母,大寫字母和特殊字符
2 or STRONG 滿足MEDIUM策略,同時密碼不能存在字典文件(dictionary file)中
2、validate_password_dictionary_file
用於配置密碼的字典文件,當validate_password_policy設置為STRONG時可以配置密碼字典文件,字典文件中存在的密碼不得使用。
3、validate_password_length
用來設置密碼的最小長度,默認值是8最小是0
4、validate_password_mixed_case_count
當validate_password_policy設置為MEDIUM或者STRONG時,密碼中至少同時擁有的小寫和大寫字母的數量,默認是1最小是0;默認是至少擁有一個小寫和一個大寫字母。
5、validate_password_number_count
當validate_password_policy設置為MEDIUM或者STRONG時,密碼中至少擁有的數字的個數,默認1最小是0
6、validate_password_special_char_count
當validate_password_policy設置為MEDIUM或者STRONG時,密碼中至少擁有的特殊字符的個數,默認1最小是0
四、實例
經過相關設置後,分別如下設置密碼時,會報如下錯誤:第一個密碼是長度不夠且沒有大寫字母,第二個密碼長度夠了但是沒有大寫字母