目录
一、密码复杂度策略
1、Windows
1)安装插件
登录MySQL数据库
mysql -u root -p
#密码复杂度配置插件
# 安装前检查 为空则说明未安装此插件(MySQL系统般自带有validate_password插件,只是没启用)
show variables like 'validate%';
#没有就安装,有就跳过
INSTALL PLUGIN validate_password SONAME 'validate_password.dll';
2)设置策略
配置参数
1、validate_password_length
设置密码的最小长度,默认值是82、validate_password_policy
密码策略级别,默认是MEDIUM ,可配置的值有:
0 or LOW 需要符合密码长度(由validate_password_length指定)
1 or MEDIUM 满足LOW策略,同时满足至少有1个数字,小写字母,大写字母和特殊字符
2 or STRONG 满足MEDIUM策略,同时密码不在字典文件(dictionary file)中2、validate_password_dictionary_file
用来配置密码的字典文件,validate_password_policy设置为STRONG时,可以配置密码字典文件,字典文件存在的密码不得再使用。4、validate_password_mixed_case_count
validate_password_policy设置为MEDIUM或者STRONG时,密码中至少同时拥有的小写和大写字母的数量,默认是1最小是0;默认是至少拥有一个小写和一个大写字母。5、validate_password_number_count
当validate_password_policy设置为MEDIUM或STRONG,密码中至少有的数字的个数,默认1,最小是06、validate_password_special_char_count
validate_password_policy设置为MEDIUM或STRONG,密码中至少有的特殊字符的个数,默认1,最小是0q
7、validate_password_check_user_name
是否禁止使用用户名作为密码的一部分,设置为关闭OFF或开启ON
1.临时
在命令行执行设置命令,临时,重启数据库后会重置
#格式:SET GLOBAL +。需要配置的密码策略名称 = 配置的选项参数
#根据上面的参数详细,按需要自行搭配
SET GLOBAL validate_password_policy = 'MEDIUM';
SET GLOBAL validate_password_mixed_case_count = 1;
SET GLOBAL validate_password_number_count = 1;
SET GLOBAL validate_password_special_char_count = 1;
SET GLOBAL validate_password_length = 8;
2.永久
在MYSQL配置文件my.ini中的 [mysqld] 下添加。
#配置插件
plugin-load-add=validate_password.dll
#配置策略,其他的格式一样
validate_password_policy = MEDIUM
validate_password_length = 10
validate_password_number_count = 1
3)查看
登录数据库查看是否生效
mysql -u root -p
show variables like 'validate%';
2、Linux
1)安装插件
登录MySQL数据库
mysql -u root -p
#密码复杂度配置插件
# 安装前检查 为空则说明未安装此插件(MySQL系统般自带有validate_password插件,只是没启用)
show variables like 'validate%';
#没有就安装,有就跳过
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
2)设置策略
配置参数
1、validate_password_length
设置密码的最小长度,默认值是82、validate_password_policy
密码策略级别,默认是MEDIUM ,可配置的值有:
0 or LOW 需要符合密码长度(由validate_password_length指定)
1 or MEDIUM 满足LOW策略,同时满足至少有1个数字,小写字母,大写字母和特殊字符
2 or STRONG 满足MEDIUM策略,同时密码不在字典文件(dictionary file)中2、validate_password_dictionary_file
用来配置密码的字典文件,validate_password_policy设置为STRONG时,可以配置密码字典文件,字典文件存在的密码不得再使用。4、validate_password_mixed_case_count
validate_password_policy设置为MEDIUM或者STRONG时,密码中至少同时拥有的小写和大写字母的数量,默认是1最小是0;默认是至少拥有一个小写和一个大写字母。5、validate_password_number_count
当validate_password_policy设置为MEDIUM或STRONG,密码中至少有的数字的个数,默认1,最小是06、validate_password_special_char_count
validate_password_policy设置为MEDIUM或STRONG,密码中至少有的特殊字符的个数,默认1,最小是0q
7、validate_password_check_user_name
是否禁止使用用户名作为密码的一部分,设置为关闭OFF或开启ON
1.临时
在命令行执行设置命令,临时,重启数据库后会重置
#格式:SET GLOBAL +。需要配置的密码策略名称 = 配置的选项参数
#根据上面的参数详细,按需要自行搭配
SET GLOBAL validate_password_policy = 'MEDIUM';
SET GLOBAL validate_password_mixed_case_count = 1;
SET GLOBAL validate_password_number_count = 1;
SET GLOBAL validate_password_special_char_count = 1;
SET GLOBAL validate_password_length = 8;
2.永久
在MYSQL配置文件my.cnf中的 [mysqld] 下添加。
#配置插件
plugin-load-add=validate_password.so
#配置策略,其他的格式一样
validate_password_policy = MEDIUM
validate_password_length = 10
validate_password_number_count = 1
3)查看
登录数据库查看是否生效
mysql -u root -p
show variables like 'validate%';