MySQL8密码复杂度设置

在MySQL中,密码复杂度设置可以通过调整密码验证插件的配置参数来实现。MySQL 8.0 引入了 validate_password 插件,用于强制实施密码策略。

查询是否已安装的插件:show plugins;确认是否已安装插件validate_password

查询mysql插件目录位置:show variables like "%plugin_dir%";

确认插件:validate_password.dll

安装方式一(无需重启):

install plugin validate_password soname 'validate_password.dll';

INSTALL PLUGIN validate_password SONAME 'validate_password.so';

安装方式二(需要重启服务):

mysqld

plugin-load=validate_password=validate_password.dll

设置密码安全策略:

set global validate_password_policy=2

有三种取值,分别是0、1和2。

0-表示低策略,密码长度至少为8位;

1-表示中策略,密码长度至少为8位,必须包含大小写字母、数字和特殊字符;

2-表示高策略,密码长度至少为8位,必须包含大小写字母、数字、特殊字符和字典词汇检查。

默认参数值:

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 MEDIUM

validate_password_special_char_count 1

validate-password=ON/OFF/FORCE/FORCE_PLUS_PERMANENT: 决定是否使用该插件(及强制/永久强制使用)。

validate_password_dictionary_file:插件用于验证密码强度的字典文件路径。

validate_password_length:密码最小长度。

validate_password_mixed_case_count:密码至少要包含的小写字母个数和大写字母个数。

validate_password_number_count:密码至少要包含的数字个数。

validate_password_policy:密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。

validate_password_special_char_count:密码至少要包含的特殊字符数。

其中,关于validate_password_policy-密码强度检查等级:

0/LOW:只检查长度。

1/MEDIUM:检查长度、数字、大小写、特殊字符。

2/STRONG:检查长度、数字、大小写、特殊字符字典文件。

设置案例:

mysqld

default_password_lifetime=90

plugin-load=validate_password=validate_password.dll

validate-password=FORCE_PLUS_PERMANENT

validate_password_length = 12

validate_password_number_count = 2

validate_password_special_char_count = 1

validate_password_mixed_case_count = 1

validate_password_policy = STRONG

password_reuse_interval

查看参数:

show variables like '%validate_password%';

相关推荐
L0015 小时前
MySQL5.7 DATE 字段无法设置默认日期?用触发器搞定|个人任务清单项目实战
mysql
不像程序员的程序媛7 小时前
导出mysql数据结构
数据库·mysql
鱼很腾apoc8 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
郭萌6968 小时前
多商户平台的分销佣金:为什么同一笔订单,换个时间跑会算出另一个人
mysql·php
库库的数据库笔记9 小时前
金融核心交易系统的数据库国产信创改造该如何做?
大数据·数据库·分布式·mysql·oracle·金融·数据库架构
Linux实战笔记9 小时前
MySQL 索引失效的三种典型场景与 EXPLAIN 分析
mysql·索引失效·explain·执行计划·sql 调优
这个DBA有点耶9 小时前
连接数没满,应用却连不上数据库——TCP backlog溢出与somaxconn的隐藏限制
数据库·mysql·代码规范
小羊没烦恼!10 小时前
C#综合揭秘——Entity Framework 并发处理详解
java·开发语言·前端·javascript·数据库·mysql·c#
flytalei11 小时前
从 Docker Compose 到 K3s:逐浪博客 MySQL 数据迁移实战与一致性验证
mysql·docker·容器
SL_staff12 小时前
3分钟上线新规则:业务人员拖拽完成合同超期自动暂停服务
java·mysql·全栈