(1)设置全局默认密码过期时间
修改配置文件my.ini,添加以下内容
[mysqld]
default_password_lifetime=90 #密码90天过期
运行时临时修改:
# mysql -uroot -p
Mysql> SET GLOBAL default_password_lifetime = 90;
(2)设置口令复杂度
修改配置文件my.ini,添加以下内容,重启mysql生效
[mysqld]
plugin-load = validate_password.so
validate_password_length = 10
validate_password_policy = 1
validate-password = FORCE_PLUS_PERMANENT
注意:windows系统需要换成plugin-load = validate_password.dll
Window下mysql5.7需要多添加一行validate_password_check_user_name=ON配置
登录mysql,查看密码策略是否生效
mysql> show variables like 'validate%';
当前密码策略是:密码至少 8 位且包含大小写字母、数字、特殊字符,密码复杂度策略只对生效后的操作有效,比如说你之前有个账号,密码是 123 ,则该账号还是可以继续使用的,不过若再次更改密码则需满足复杂度策略。
可修改以下值自定义密码策略:
validate_password_length:用来设置密码的最小长度,默认值是8
validate_password_mixed_case_count:validate_password_policy设置为MEDIUM或者STRONG时,密码中至少同时拥有的小写和大写字母的数量,默认是1最小是0;默认是至少拥有一个小写和一个大写字母。
validate_password_number_count:validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的数字的个数,默认1最小是0
validate_password_special_char_count:当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的特殊字符的个数,默认1最小是0
来源地址:https://blog.csdn.net/weixin_42272246/article/details/127576261