👋 欢迎来到吴老二技术博客,专注运维 / 数据库 / 云原生
首页/数据库/正文

mysql密码复杂度策略修改

吴
吴老二
2021-05-20数据库2586 次浏览0 条评论
安装mysql后在日志里提示了一个密码,但是,用这个密码登陆到mysql后,执行命令时出现提示:“ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.”,已经进入到mysql,说明密码没有问题,尝试着修改一下mysql的密码,但是提示密码不符合要求:“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements”。一下子问题多了起来,没关系,我们一个一个多来,先修改密码的复杂度。 validate_password_policy是随着validate_password插件诞生而诞生的,换句话说如果没有安装validate_password插件,mysql就不支持密码的复杂度和长度的限制了。如果没有安装,可以执行:install plugin valaidte_password soname 'validate_password.so';57版本的,8.0版本的不一样
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

关于插件和组件对应的系统变量说明:

选项 默认值 参数描述
validate_password_check_user_name ON 设置为ON的时候表示能将密码设置成当前用户名。
validate_password_dictionary_file   用于检查密码的字典文件的路径名,默认为空
validate_password_length 8 密码的最小长度,也就是说密码长度必须大于或等于8
validate_password_mixed_case_count 1 如果密码策略是中等或更强的,validate_password要求密码具有的小写和大写字符的最小数量。对于给定的这个值密码必须有那么多小写字符和那么多大写字符。
validate_password_number_count 1 密码必须包含的数字个数
validate_password_policy MEDIUM 密码强度检验等级,可以使用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定。 0/LOW:只检查长度。 1/MEDIUM:检查长度、数字、大小写、特殊字符。 2/STRONG:检查长度、数字、大小写、特殊字符、字典文件。
validate_password_special_char_count 1 密码必须包含的特殊字符个数
注意:组件和插件的默认值可能有所不同。例如,MySQL 5.7. validate_password_check_user_name的默认值为OFF。更多详细具体信息,建议参考官方文档。
设置长度为4,长度最小为4,设置1为无效。复杂度为0
set global validate_password_policy=0;
set global validate_password_length=4;
卸载插件
mysql> UNINSTALL PLUGIN  validate_password;
Query OK, 0 rows affected, 1 warning (0.01 sec)
卸载组件
mysql> UNINSTALL COMPONENT 'file://component_validate_password';
Query OK, 0 rows affected (0.02 sec)
设置后,就可以修改密码;
alter user 'root'@'localhost' identified by '1234';
文章底部广告位在后台「广告设置」填写广告代码后显示

评论 0

评论需 登录 后发表(注册并验证邮箱)。
还没有评论,来抢沙发~