MYSQL设置密码复杂度
MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置。
-
在 MySQL安装目录中,\MySQL Server 8.0\lib\plugin 可以看到默认存在validate_password.dll
-
可以通过
SELECT * from mysql.plugin
查看mysql安装的插件。 -
安装插件:
添加: mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.dll'; 卸载: mysql> UNINSTALL PLUGIN validate_password;
-
插件安装后,使用 show plugins; 查看是否启用成功
-
查看默认策略配置:
show variables like 'validate_password%';
各项值说明
validate_password_policy:密码安全策略,默认MEDIUM策略
策略 | 检查规则 |
---|---|
0 or LOW | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个 validate_password_special_char_count:特殊字符至少1个
-
其他:
修改策略(将策略要求置为LOW,长度要求置为1)set global validate_password_policy=0;
set global validate_password_length=1;