首先确认并安装validate_password插件,然后配置密码策略级别、长度及字符要求,通过SET GLOBAL命令设置并写入配置文件使其永久生效,最后测试密码修改验证规则是否起作用。

MySQL密码复杂度通过插件机制实现,最常用的是validate_password插件。启用后可强制用户设置符合安全要求的密码,防止弱口令。以下是在MySQL中设置和修改密码复杂度的完整步骤。
1. 检查是否已安装validate_password插件
登录MySQL后执行:
SELECT * FROM mysql.plugin WHERE name = ‘validate_password’;
如果没有结果返回,说明插件未安装,需手动启用。
2. 安装validate_password插件
运行以下命令安装插件:
INSTALL PLUGIN validate_password SONAME ‘validate_password.so’;
安装成功后可通过以下语句验证:
SHOW VARIABLES LIKE ‘validate_password%’;
3. 配置密码复杂度策略
validate_password提供多个参数用于控制密码强度,常见配置如下:
validate_password.policy:密码策略级别(0=LOW, 1=MEDIUM, 2=STRONG)validate_password.length:最小长度,默认8validate_password.character_count:至少包含多少种字符类型(数字、小写、大写、特殊符号)validate_password.number_count:至少包含几位数字validate_password.mixed_case_count:至少包含几个大小写字母validate_password.special_char_count:至少包含几个特殊字符
例如,设置为中级策略且密码至少12位:
音疯
音疯是昆仑万维推出的一个AI音乐创作平台,每日可以免费生成6首歌曲。
146 查看详情
SET GLOBAL validate_password.policy = MEDIUM;
SET GLOBAL validate_password.length = 12;
SET GLOBAL validate_password.number_count = 1;
SET GLOBAL validate_password.mixed_case_count = 1;
SET GLOBAL validate_password.special_char_count = 1;
4. 修改配置文件永久生效
以上设置在重启后会失效,需写入MySQL配置文件(如/etc/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf):
[mysqld]
validate_password_policy=MEDIUM
validate_password_length=12
validate_password_number_count=1
validate_password_mixed_case_count=1
validate_password_special_char_count=1
保存后重启MySQL服务:
systemctl restart mysql
5. 测试密码复杂度限制
尝试修改用户密码:
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123456’;
如果密码太简单,系统将报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
使用符合规则的密码即可成功:
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyP@ssw0rd!2024’;
基本上就这些。开启密码复杂度能有效提升数据库安全性,建议生产环境务必启用并合理配置策略。不复杂但容易忽略。
以上就是mysql密码复杂度怎么设置_mysql密码复杂度设置与修改教程的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1067922.html
微信扫一扫
支付宝扫一扫