- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
歡迎來到藍隊云技術小課堂,每天分享一個技術小知識。
作為數據庫管理員,你是否曾為 MySQL 的密碼策略而抓狂?今天,藍隊云帶來一份超實用的指南,教你輕松管理 MySQL 密碼策略。通過 validate_password 插件,你不僅能靈活設置密碼規則,還能確保數據庫安全,趕緊一起來看看吧!
1. 查看當前密碼策略
首先,我們需要了解 MySQL 當前的密碼策略設置。打開 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 |+--------------------------------------+-------+
主要參數解釋:
validate_password.check_user_name:是否允許密碼與用戶名相同,ON 表示禁止。
validate_password.dictionary_file:字典文件路徑,用于檢測密碼中是否包含常見單詞(強烈建議在生產環境啟用)。
validate_password.length:密碼的最小長度,默認是 8。
validate_password.mixed_case_count:密碼中至少需要包含的大小寫字母個數。
validate_password.number_count:密碼中至少需要的數字個數。
validate_password.policy:
LOW:只驗證密碼長度。
MEDIUM(默認):驗證長度、數字、大小寫字母和特殊字符。
STRONG:在 MEDIUM 的基礎上增加字典單詞驗證。
validate_password.special_char_count:密碼中至少需要的特殊字符個數。
了解這些參數后,我們就可以根據需求調整密碼策略。
2. 修改密碼策略
2.1 調整密碼強度
想讓密碼簡單一些?或者需要更復雜的密碼?只需修改策略強度即可:
SET GLOBAL validate_password.policy = LOW;
策略強度分為三檔:
LOW:僅驗證長度。
MEDIUM(默認):驗證長度、數字、大小寫字母和特殊字符。
STRONG:在 MEDIUM 基礎上,增加字典單詞檢測。
2.2 調整密碼長度
想降低或提高密碼長度要求?只需運行以下命令:
SET GLOBAL validate_password.length = 6;
以上設置將最小密碼長度調整為 6 個字符。
2.3 修改其他規則
如果有特定需求,比如限制數字或特殊字符的數量,可以按需調整:
修改至少包含的數字個數:
SET GLOBAL validate_password.number_count = 2;
修改至少包含的特殊字符個數:
SET GLOBAL validate_password.special_char_count = 1;
3. 修改用戶密碼
密碼策略調整完后,可以為用戶設置或修改密碼。記得新密碼要符合你剛剛調整好的規則!
例如,為 root 用戶修改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
如果密碼不符合策略要求,你會看到類似以下的錯誤:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
此時別慌,檢查當前策略設置,按照要求修改密碼即可。
4. 永久保存設置
上述策略修改只在當前會話中生效,重啟 MySQL 后可能會恢復默認值。如果想讓策略永久生效,需要修改 MySQL 配置文件。
編輯 /etc/my.cnf 或 /etc/mysql/my.cnf,加入以下內容:
[mysqld]validate_password.policy = LOWvalidate_password.length = 6validate_password.number_count = 2validate_password.special_char_count = 1
保存后,重啟 MySQL 服務:
systemctl restart mysqld
6. 驗證新設置
為了確保設置生效,可以嘗試創建用戶或修改用戶密碼:
CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'SimplePass';
如果設置有問題,MySQL 會返回相應的錯誤信息,幫助你進一步調整。
藍隊云官網上擁有完善的技術支持庫可供參考,大家可自行查閱,更多技術問題,可以直接咨詢。同時,藍隊云整理了運維必備的工具包免費分享給大家使用,需要的朋友可以直接咨詢。
更多技術知識,藍隊云期待與你一起探索。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP