MySQL5.6.6以上的版本推出了**validate_password**插件,支持密码强度要求。 ### 查看密码策略参数 首先查看当前已经加载的插件,是否已经启用密码验证插件。 ``` show plugins like 'validate_password'; ``` 如果没有,先参考下一个步骤,加载完插件再回到这里。 查看所有和密码验证相关的参数: ``` show variables like 'validate_password%'; ``` - validate_password_check_user_name:ON、OFF 检查用户名,设置成ON表示密码可以设置成当前用户名 - validate_password_dictionary_file 用于检查密码的字典文件的路径名 - validate_password_length 密码的最小长度 - validate_password_mixed_case_count 如果密码策略是中等或更强的,要求密码具有的小写和大写字符的最小数量。对于给定的这个值密码必须有那么多小写字符和那么多大写字符。 - validate_password_number_count 如果密码策略是中等或更强的,validate_password要求密码具有的数字(数字)字符的最小数量。 - validate_password_policy:0/LOW、1/MEDIUM、2/STRONG validate_password_policy影响validate_password如何使用它的其他策略设置系统变量,除了根据用户名检查密码之外,后者由validate_password_check_user_name独立控制。validate_password_policy值可以使用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定。其中,关于validate_password_policy-密码强度检查等级:0/LOW:只检查长度。1/MEDIUM:检查长度、数字、大小写、特殊字符。2/STRONG:检查长度、数字、大小写、特殊字符字典文件 - validate_password_special_char_count 需要包含的特殊字符数量 ### 运行时加载插件 优点是不会中断业务,缺点是插件有被卸载的风险。 对于要加载的插件,必须位于MySQL的插件目录中。可以通过下面的命令查看: ``` show variables like 'plugin_dir'; ``` 然后加载需要的插件,会注册进mysql.plugins表: ``` INSTALL PLUGIN validate_password SONAME 'validate_password.so'; SET GLOBAL validate_password=ON; ``` ### 启动时加载插件 可以保证插件不会被卸载,安全性高,但是需要重启服务,可能会中断业务。 ``` [mysqld] validate_password_policy=2 plugin-load=validate_password.so validate-password=FORCE_PLUS_PERMANENT # 阻止插件在运行时被删除 ``` > validate-password=ON/OFF/FORCE/FORCE_PLUS_PERMANENT决定是否使用该插件(及强制/永久强制使用) Loading... MySQL5.6.6以上的版本推出了**validate_password**插件,支持密码强度要求。 ### 查看密码策略参数 首先查看当前已经加载的插件,是否已经启用密码验证插件。 ``` show plugins like 'validate_password'; ``` 如果没有,先参考下一个步骤,加载完插件再回到这里。 查看所有和密码验证相关的参数: ``` show variables like 'validate_password%'; ``` - validate_password_check_user_name:ON、OFF 检查用户名,设置成ON表示密码可以设置成当前用户名 - validate_password_dictionary_file 用于检查密码的字典文件的路径名 - validate_password_length 密码的最小长度 - validate_password_mixed_case_count 如果密码策略是中等或更强的,要求密码具有的小写和大写字符的最小数量。对于给定的这个值密码必须有那么多小写字符和那么多大写字符。 - validate_password_number_count 如果密码策略是中等或更强的,validate_password要求密码具有的数字(数字)字符的最小数量。 - validate_password_policy:0/LOW、1/MEDIUM、2/STRONG validate_password_policy影响validate_password如何使用它的其他策略设置系统变量,除了根据用户名检查密码之外,后者由validate_password_check_user_name独立控制。validate_password_policy值可以使用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定。其中,关于validate_password_policy-密码强度检查等级:0/LOW:只检查长度。1/MEDIUM:检查长度、数字、大小写、特殊字符。2/STRONG:检查长度、数字、大小写、特殊字符字典文件 - validate_password_special_char_count 需要包含的特殊字符数量 ### 运行时加载插件 优点是不会中断业务,缺点是插件有被卸载的风险。 对于要加载的插件,必须位于MySQL的插件目录中。可以通过下面的命令查看: ``` show variables like 'plugin_dir'; ``` 然后加载需要的插件,会注册进mysql.plugins表: ``` INSTALL PLUGIN validate_password SONAME 'validate_password.so'; SET GLOBAL validate_password=ON; ``` ### 启动时加载插件 可以保证插件不会被卸载,安全性高,但是需要重启服务,可能会中断业务。 ``` [mysqld] validate_password_policy=2 plugin-load=validate_password.so validate-password=FORCE_PLUS_PERMANENT # 阻止插件在运行时被删除 ``` > validate-password=ON/OFF/FORCE/FORCE_PLUS_PERMANENT决定是否使用该插件(及强制/永久强制使用) 最后修改:2023 年 08 月 02 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏