【MySQL】ERROR 1819

错误信息

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

错误复现

mysql> SET password=password("1qazxsw2");
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决方法

  • 面对:设置更为复杂的密码(略)
  • 回避:修改密码策略
# MySQL 5.7
#修改密码策略(以下两个策略需要一起调整)

# 密码策略调整为:LOW级别,
set global validate_password_policy=0;
# 密码长度必须至少为1个字符
set global validate_password_length=1;

相关知识

关于MySQL密码策略

密码相关的参数: validate_password

validate_password 是一个插件,可以通过show plugins 命令查到

mysql> show plugins;
+----------------------------+----------+--------------------+----------------------+---------+
| Name                       | Status   | Type               | Library              | License |
+----------------------------+----------+--------------------+----------------------+---------+
| validate_password          | ACTIVE   | VALIDATE PASSWORD  | validate_password.so | GPL     |
+----------------------------+----------+--------------------+----------------------+---------+

与 validate_password 有关的参数

SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

参数说明

validate_password_check_user_name :用户名检测,默认关闭
validate_password_dictionary_file :字典文件,就是要在字典规则里才能满足密码的条件。
validate_password_length :密码的长度至少为8位
validate_password_mixed_case_count :密码中至少有一个大写小字母
validate_password_number_count :密码中至少一个数字
validate_password_special_char_count :密码中至少一个特殊字符
validate_password_policy :密码的安全策略
validate_password_policy 参数可选值:LOW或者0 、MEDIUM或者1、STRONG或者2
LOW :策略仅测试密码长度。密码长度必须至少为8个字符。
MEDIUM :策略添加了密码必须至少包含1个数字字符,1个小写字符,1个大写字符和1个特殊(非字母数字)字符的条件。
STRONG :策略添加了长度为4或更长的密码子字符串不能匹配字典文件中的字词(如果已经指定)的条件。
所以最终的密码设置策略就是:不得低于8位,而且必须至少有一个大写和一个小写字母、至少一个数字和至少的一个特殊字符组成;

最基本的规则:大写+小写+特殊字符+数字组成的8位以上密码

可以通过以下方法评估密码的复杂度,系统来对密码进行打分

mysql> SELECT VALIDATE_PASSWORD_STRENGTH('Q~123456');
+----------------------------------------+
| VALIDATE_PASSWORD_STRENGTH('Q~123456') |
+----------------------------------------+
|                                     50 |
+----------------------------------------+
1 row in set (0.00 sec)

参考资料

mysql新版本中的validate_password插件测试 | 封尘网

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值