MySQL-配置密碼策略(validate_password)插件


1. 檢查插件目錄

mysql> show variables like 'plugin_dir';

 

2. 下載第三方開源插件文件並上傳到步驟1目錄上

 

3. 配置文件中添加對象參數配置

[mysqld]
plugin-load-add=validate_password.so
or 
plugin-load=validate_password.so
# validate_password_policy=2
validate-password=FORCE_PLUS_PERMANENT

 

4. 連接數據庫並進行安裝插件

mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';

 

5. 檢查確認

SELECT
    PLUGIN_NAME,
    PLUGIN_STATUS,
    plugin_library,
    load_option
FROM
    INFORMATION_SCHEMA.PLUGINS 
WHERE
    plugin_library = 'validate_password.so';
       
mysql> show plugins;  

 

6. 根據需求配置密碼策略

 6.1 檢查策略變量配置

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+

 

6.2 密碼驗證插件選項和變量

1)選項--告訴服務啟動時如何加載插件
--validate-password[=ON|OFF|FORCE|FORCE_PLUS_PERMANENT]

ON: 默認值
OFF:關閉
FORCE: 強制
FORCE_PLUS_PERMANENT: mysqld服務啟動時加載插件並防止服務在運行中將其刪除

 

2)變量--啟用的檢查配置項

validate_password_check_user_name : 默認關閉,設置為ON時可以將密碼設置成當前用戶名
validate_password_dictionary_file : 檢查密碼的字典文件的路徑名
validate_password_length : 默認為8,限制密碼長度的最小字符數
validate_password_mixed_case_count : 默認值為1,限制小寫字符和大寫字符個數 
validate_password_number_count : 默認值為1,限制數字的個數
validate_password_policy : 默認值為1, 密碼強度等級 [LOW:0| MEDIUM:1 | STRONG:2]
validate_password_special_char_count : 默認值為1,限制特殊字符個數

其中,validate_password_policy
0/LOW:只檢查長度。
1/MEDIUM:檢查長度、數字、大小寫、特殊字符。
2/STRONG:檢查長度、數字、大小寫、特殊字符字典文件。

 

7. 注意事項

7.1 賬號密碼過期,需修改密碼

遇到場景:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

# 1. 注意密碼策略要求 validate_password_policy 等
show variables like 'validate_password%';

# 2. 依據密碼策略要求修改密碼
/*
-- 2.1 如果密碼與Server的策略要求不一致時,臨時修改策略及密碼后恢復密碼策略
set global validate_password_policy=0;
set global validate_password_length=1;
*/
alter user 'root'@'localhost' identified by 'root';
/*
set global validate_password_policy=1;
set global validate_password_length=8;
*/
flush privileges;

-- 2.2 密碼符合要求
alter user 'root'@'localhost' identified by 'R#isn218aio';
flush privileges;

 

7.2 

 


免責聲明!

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



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