ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL8的密码策略

2019-07-04 12:39:10  阅读:344  来源: 互联网

标签:count 策略 MySQL8 默认 密码 长度 validate password


解释: 由于valiadte_password策略。密码强度需要非常高,所以有时候密码都无法成功修改。了解完下面变量就能解决了。


  • validate_password.policy:密码策略,检查用户的密码。
    • 0:(Low)密码长度最少8个字符
    • 1:(Mediumpolicy)至少包含1个数字,1个小写字母,1个大写字母和1个特殊字符组成(默认值)
    • 2:(Strongpolicy)长度为4或更长的密码子字符串不得与字典文件中的单词匹配
  • validate_password.length:需要密码最小字符数,默认为8
  • validate_password.number_count:需要密码的最小数字字符数,默认为1
  • validate_password.mixed_case_count:需要密码的小写和大写的最小字符数,默认为1
  • validate_password.special_char_count:需要密码的特殊字符的最小字符数,默认为1
  • validate_password.dictionary_file:用于检查密码的字典文件的路径名,默认没有


所以,如果出现报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,你可以:

Set Persist validate_password.policy = 0

只要你的密码长度不低于8个字符就行了,如果密码长度觉得还是长了,你可以:

Set Persist validate_password.length = 0

这样,你的长度是0,但注意,最小字符数不能低于以下表达式的值:

validate_password.number_count 
+ validate_password.special_char_count 
+ (2 * validate_password.mixed_case_count)

所以你的密码最小长度是4位,然后你可以直接查看:

mysql> Show Variables Like 'validate_password.%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 4     |  <-- 尽管你设置的是0,但最小还是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.02 sec)





密码强度评估:1 ~ 100

mysql> select validate_password_strength('Password!');
+-----------------------------------------+
| validate_password_strength('Password!') |
+-----------------------------------------+
|                                      50 |
+-----------------------------------------+
1 row in set (0.00 sec)


下面是官方的一段原话:英文好的可以看看

In MySQL 8.0.4, the validate_password plugin was reimplemented as the validate_password component. The validate_password plugin is deprecated and will be removed in a future version of MySQL. Consequently, its options are also deprecated and will be removed. MySQL installations that use the plugin should make the transition to using the component instead.





以上资料参考官方文档:6.4.3密码验证组件

标签:count,策略,MySQL8,默认,密码,长度,validate,password
来源: https://www.cnblogs.com/liuhedong/p/11131693.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有