- 工信部备案号 滇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