首页 > 数据库 >mysql 密码强度规则设置

mysql 密码强度规则设置

时间:2022-08-26 19:24:19浏览次数:86  
标签:count set 强度 密码 sec mysql validate password

问题:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
ERROR 1819 (HY000): Your password does not satisfy the current policy requiremen


【原因】

原来MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。
使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置。影响的语句和函数有:create user,grant,set password,password(),old password。


【解决】
1) 查看mysql全局参数配置

该问题其实与mysql的validate_password_policy的值有关。
查看一下msyql密码相关的几个全局参数:
[sql] view plain copy
mysql> select @@validate_password_policy;
+----------------------------+
| @@validate_password_policy |
+----------------------------+
| MEDIUM |
+----------------------------+
1 row in set (0.00 sec)


mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| 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 |
+--------------------------------------+--------+
6 rows in set (0.08 sec)

2)参数解释

validate_password_dictionary_file
插件用于验证密码强度的字典文件路径。

validate_password_length
密码最小长度,参数默认为8,它有最小值的限制,最小值为:validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

validate_password_mixed_case_count
密码至少要包含的小写字母个数和大写字母个数。

validate_password_number_count
密码至少要包含的数字个数。

validate_password_policy
密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。有以下取值:
Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

validate_password_special_char_count
密码至少要包含的特殊字符数。


3)修改mysql参数配置
[sql] view plain copy
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.05 sec)

mysql>
mysql>
mysql> set global validate_password_mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_number_count=3;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_special_char_count=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=3;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file | |
| validate_password_length | 3 |
| validate_password_mixed_case_count | 0 |
| validate_password_number_count | 3 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 0 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)


4)修改简单密码:

[sql] view plain copy
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');
Query OK, 0 rows affected, 1 warning (0.00 sec)


OK了,完美解决!
————————————————
版权声明:本文为CSDN博主「朱智文」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014236541/article/details/78244601

标签:count,set,强度,密码,sec,mysql,validate,password
From: https://www.cnblogs.com/jmbt/p/16628919.html

相关文章

  • Max_connect_errors – MySQL性能参数详解
    Max_connect_errors–MySQL性能参数详解_wulantian的博客-CSDN博客_max_connect_errors https://blog.csdn.net/wulantian/article/details/9670957max_connect_error......
  • MySql(三)
    表关联查询内连接innerjoin,⼜叫内连接的部分,主要是获取两个表中字段匹配关系的表。查询关联字段共同拥有的数据。 再次查询 将employees表中的first_name,last_na......
  • 大批量更新数据mysql批量更新的四种方法
    大批量更新数据mysql批量更新的四种方法-风在山路吹-博客园 https://www.cnblogs.com/mslagee/p/6509682.htmlmysql批量更新如果一条条去更新效率是相当的慢,循......
  • mysql慢查询日志中query_time 和 lock_time分别是什么意思?
    mysql慢查询日志中query_time和lock_time分别是什么意思?_已解决_博问_博客园 https://q.cnblogs.com/q/75102/ 悬赏园豆:5 [已解决问题] 浏览:9366次 解决于2015......
  • MySQL大量的delete后空间如何回收
    今天试验了MySQL(版本5.5.27)大量的delete后空间如何回收问题一、myisam表 optimize table tablename;  #二、innodb表(独立表空间)--innodb-file-per-tablea.方......
  • MySQL数据库的注释
    MySQL数据库的注释-mysql数据库栏目-红黑联盟 https://www.2cto.com/database/201310/251810.htmlMySQL数据库的注释 MySQL注释--今天写MySQL的function时,对内......
  • mysql导入导出sql文件
    mysql导入导出sql文件-天道酬勤,坚持!-博客园 https://www.cnblogs.com/yuwensong/p/3955834.htmlWindow下1.导出整个数据库mysqldump-u用户名-p数据库名>导出......
  • mysql的ibdata1怎么删除或者清空
    mysql的ibdata1怎么删除或者清空-CSDN社区 https://bbs.csdn.net/topics/391970793发表回复 qq_28126377 2016-06-27首先,感谢3位的回答。我的做法......
  • 如何查看MySQL的当前存储引擎?
    如何查看MySQL的当前存储引擎?_百度知道 https://zhidao.baidu.com/question/159054629.htmlvinson_shen推荐于2017-11-28 · TA获得超过2498个赞关注 一般情......
  • springboot使用jasypt加密密码信息
    为保障安全,在我们生产环境中,可能会要求我们对密码进行加密操作,一起看看我们该如果操作。1、pom.xml引入依赖<dependency><groupId>com.github.ulisesbocchio</grou......