mysql开启密码复杂度配置

mysql 5.6对密码的强度进行了加强,推出了 validate_password 插件。支持密码的强度要求。

mysql默认带validate_password 插件,直接装载插件即可。

1 装载plugin

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

2 修改配置文件

在配置文件中打开

1
2
3
plugin-load=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
validate_password_policy=2

3 验证

当建立用户密码时,如果不符合预设的规则,那么就不会通过:

1
2
mysql> grant all on *.* totester@'localhost' identified by 'tasssss';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements;

修改密码时,一样不通过

1
2
mysql> set password for test@‘localhost’ = password('123qwe!');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

4 密码默认规则

  1. 必须包含数字
  2. 必须包含大、小写字母
  3. 必须包含特殊字符
  4. 必须大于等于8位

5 插件说明

5.1 相关选项

1
2
3
4
5
6
7
8
9
10
11
12
13
validate-password=ON/OFF/FORCE/FORCE_PLUS_PERMANENT  # 决定是否使用该插件(及强制/永久强制使用)。

validate_password_dictionary_file # 插件用于验证密码强度的字典文件路径。

validate_password_length # 密码最小长度。

validate_password_mixed_case_count # 密码至少要包含的小写字母个数和大写字母个数。

validate_password_number_count # 密码至少要包含的数字个数。

validate_password_policy # 密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。

validate_password_special_char_count # 密码至少要包含的特殊字符数。

其中,关于validate_password_policy-密码强度检查等级:

1
2
3
4
5
0/LOW     # 只检查长度。

1/MEDIUM # 检查长度、数字、大小写、特殊字符。

2/STRONG # 检查长度、数字、大小写、特殊字符字典文件。

5.2 插件的安装启用

插件对应的库对象文件需在配置选项plugin_dir指定的目录中。

可使用--plugin-load=validate_password.so,在server启动时载入插件,或者将plugin-load=validate_password.so写入配置文件。

也可以通过如下语句在server运行时载入插件(会注册进mysql.plugins表)

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

5.3 为阻止该插件在运行时被删除可在配置文件中添加

1
2
plugin-load=validate_password.so
validate-password=FORCE_PLUS_PERMANENT

4 参考

MySql5.6使用validate password 插件加强密码强度的安装及使用方法Mysql脚本之家 (jb51.net)

-------------本文结束感谢您的阅读-------------

本文标题:mysql开启密码复杂度配置

文章作者:OperationMAN

发布时间:2022年01月13日 - 12:01

最后更新:2022年06月05日 - 21:06

原始链接:https://kxinter.gitee.io/2022/01/13/mysql开启密码复杂度配置/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!