两个 MySQL 密码策略是不是会导致错误不满足当前的策略要求
Posted
技术标签:
【中文标题】两个 MySQL 密码策略是不是会导致错误不满足当前的策略要求【英文标题】:Can Two MySQL Password Policies Policies Cause an Error to not Satisfy the Current Policy Requirements两个 MySQL 密码策略是否会导致错误不满足当前的策略要求 【发布时间】:2020-11-05 07:44:38 【问题描述】:由于“您的密码不满足当前策略要求”错误,我无法在 mysql 上创建用户
我已经运行了命令:
SHOW VARIABLES LIKE 'validate_password%';
我发现有两个密码策略。
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| 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 |
| validate_password_check_user_name | ON |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
14 rows in set (0.00 sec)
这是一个失败的示例字符串:
CREATE USER 'support_usr'@'gk1qYu!n%';
ALTER USER 'support_usr'@'gk1qYu!n%'
IDENTIFIED BY 'Pxuzj#1M4!d' ;
这可能是阻止创建用户密码的冲突吗?有没有办法删除其中一个或两个?
【问题讨论】:
您能告诉我们一个您认为满足当前政策要求但 MySQL 不满足的密码吗? 已按要求更新@Schwern 想通了。更新了答案。 【参考方案1】:它失败了,因为该帐户是在没有密码的情况下创建的。 MySQL 文档有一个示例。
即使帐户最初被锁定,此帐户创建语句也会失败,因为它不包含满足当前密码策略的密码:
mysql> CREATE USER 'juanita'@'localhost' ACCOUNT LOCK; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
您必须创建一个带有密码的用户。
create user 'support_usr'@'gk1qYu!n%' identified by 'Pxuzj#1M4!d' ;
您有两个不同版本的 MySQL 的变量。在 MySQL 8 之前,they were validate_password_xxx
。 MySQL 8 changed this to validate_password.xxx
。 MySQL 8 有instructions on how to transition from the old to the new。
【讨论】:
以上是关于两个 MySQL 密码策略是不是会导致错误不满足当前的策略要求的主要内容,如果未能解决你的问题,请参考以下文章
同源请求会导致“Access-Control-Allow-Origin 不匹配”错误,尽管来源当然匹配。注意:具有带“沙盒”的 CSP 策略