查询现有用户密码有效期
select user,host,password_expired,password_last_changed,password_lifetime from mysql.user;
1.设置密码90天过期
alter user zss@'%' password expire interval 90 day;
2.设置密码永不过期
alter user zss@'%' password expire never;
查询密码策略
SHOW VARIABLES LIKE "%password%";
添加密码复杂度插件
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
显示已安装插件
show plugins;
修改my.cnf配置,#服务器在启动时加载插件,并防止在服务器运行时删除插件。并配置密码复杂度,修改后重启生效
[mysqld]
plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
validate_password_policy = MEDIUM
validate_password_length = 10
validate_password_number_count = 1
validate_password_special_char_count = 1
validate_password_mixed_case_count = 1
备注:临时修改复杂度策略,重启后失效
SET GLOBAL validate_password_policy = MEDIUM; -- 密码策略级别:LOW, MEDIUM, STRONG
SET GLOBAL validate_password_length = 10; -- 密码最小长度
SET GLOBAL validate_password_number_count = 1; -- 密码中至少包含的数字个数
SET GLOBAL validate_password_special_char_count = 1; -- 密码中至少包含的特殊字符个数
SET GLOBAL validate_password_mixed_case_count = 1; -- 密码中至少包含的大小写字母个数
SET GLOBAL validate_password_check_user_name = OFF; -- 是否禁止使用用户名作为密码的一部分(建议设置为OFF)