分享

MySQL:密码复杂度设置

 江海博览 2023-11-07 发布于浙江

MySQL对用户密码强度有比较灵活的设置,可以根据实际系统需要对密码复杂度进行设置,具体步骤与注意事项如下:

1、检查是否开启密码复杂度校验:

mysql> show variables like '%validate%'; +-----------------------------------+-------+ | Variable_name | Value | +-----------------------------------+-------+ | query_cache_wlock_invalidate | OFF | +-----------------------------------+-------+ 1 row in set (0.00 sec)

2、若开启,则不用执行以下步骤,如果未开启,需要开启。

启用密码复杂度插件,在mysql中执行以下命令:

mysql>INSTALL PLUGIN validate_password SONAME 'validate_password.so';

3、开启之后默认配置检查:

mysql> show variables like 'validate%'; +-----------------------------------------+--------+ | Variable_name | Value | +-----------------------------------------+--------+ | validate_password_check_user_name | ON | | validate_password_dictionary_file | | | validate_password_length | 8 | #密码至少8个长度 | validate_password_mixed_case_count | 1 | #至少1个大小写字符 | validate_password_number_count | 1 | #至少1个数字 | validate_password_policy | MEDIUM | #密码策略默认中度 | validate_password_special_char_count | 1 | #至少1个特殊字符 +-----------------------------------------+--------+

若想永久生效,建议将以下参数写入配置文件my.cnf

[mysqld]
plugin-load = validate_password.so
validate_password_length = 10
validate_password_policy = 1
validate-password = FORCE_PLUS_PERMANENT

说明:密码强度开启对现有用户密码无影响,对之后创建账号或者修改密码会严格校验密码是否符合要求。

4、注意事项

在使用密码复杂度插件时,如果使用CREATE语句同时创建两个用户,会出现一个用户创建成功而另外一个用户创建失败的情况,会在主库在 binlog 里写一条 INCIDENT_EVENT,导致主从复制关系异常。

参考资料

https://blog.csdn.net/YJX99999/article/details/128477595

https://www.toutiao.com/article/7267469989761516044/?channel=&source=search_tab

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多