mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

转载 2018年04月15日 19:51:06

原文链接:https://blog.csdn.net/kuluzs/article/details/51924374

【问题】

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如只想设置root的密码为123456。

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

但是会报错:

[plain] view plain copy
  1. mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');  
  2. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements  


【原因】

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


【解决】

1) 查看mysql全局参数配置

该问题其实与mysql的validate_password_policy的值有关。
查看一下msyql密码相关的几个全局参数:

  1. mysql> select @@validate_password_policy;  
  2. +----------------------------+  
  3. | @@validate_password_policy |  
  4. +----------------------------+  
  5. | MEDIUM                     |  
  6. +----------------------------+  
  7. 1 row in set (0.00 sec)  
  8.   
  9.   
  10. mysql> SHOW VARIABLES LIKE 'validate_password%';  
  11. +--------------------------------------+--------+  
  12. | Variable_name                        | Value  |  
  13. +--------------------------------------+--------+  
  14. | validate_password_dictionary_file    |        |  
  15. | validate_password_length             | 8      |  
  16. | validate_password_mixed_case_count   | 1      |  
  17. | validate_password_number_count       | 1      |  
  18. | validate_password_policy             | MEDIUM |  
  19. | validate_password_special_char_count | 1      |  
  20. +--------------------------------------+--------+  
  21. 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参数配置

  1. mysql> set global validate_password_policy=0;  
  2. Query OK, 0 rows affected (0.05 sec)  
  3.   
  4. mysql>   
  5. mysql>   
  6. mysql> set global validate_password_mixed_case_count=0;  
  7. Query OK, 0 rows affected (0.00 sec)  
  8.   
  9. mysql> set global validate_password_number_count=3;  
  10. Query OK, 0 rows affected (0.00 sec)  
  11.   
  12. mysql> set global validate_password_special_char_count=0;  
  13. Query OK, 0 rows affected (0.00 sec)  
  14.   
  15. mysql> set global validate_password_length=3;  
  16. Query OK, 0 rows affected (0.00 sec)  
  17.   
  18. mysql> SHOW VARIABLES LIKE 'validate_password%';  
  19. +--------------------------------------+-------+  
  20. | Variable_name                        | Value |  
  21. +--------------------------------------+-------+  
  22. | validate_password_dictionary_file    |       |  
  23. | validate_password_length             | 3     |  
  24. | validate_password_mixed_case_count   | 0     |  
  25. | validate_password_number_count       | 3     |  
  26. | validate_password_policy             | LOW   |  
  27. | validate_password_special_char_count | 0     |  
  28. +--------------------------------------+-------+  
  29. rows in set (0.00 sec)  


4)修改简单密码:

  1. mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');  
  2. Query OK, 0 rows affected, 1 warning (0.00 sec)  


OK了,完美解决!


Mysql 5.7 遇到ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。 一般可通...
  • jichuang123
  • jichuang123
  • 2017-03-15 14:34:31
  • 444

mysql提示密码不符合要求:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

今晚想在搭建好Mysql的Centos 服务器开启下远程访问。当我在执行:mysql -u root -p #登录 mysql>GRANT ALL PRIVILEGES ON *.* TO 'roo...
  • xiangxianghehe
  • xiangxianghehe
  • 2017-08-21 23:39:43
  • 1219

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

今天在centos7.2上按照mysql的时候遇见这种异常 ERROR 1819 (HY000): Your password does not satisfy the current po...
  • abc8049156
  • abc8049156
  • 2016-10-19 10:40:13
  • 262

解决 MySQL 5.7 中 Your password does not satisfy the current policy requirements. 问题

Mac OS X 下通过 Brew 安装 MySQL 后,默认密码为空,然后运行 mysql_secure_installation 命令设置密码 然后我手贱的在密码强度那里输入了 2(真2了。。...
  • maxsky
  • maxsky
  • 2016-04-17 03:27:25
  • 20050

安装MySQL5.6新建用户并创建密码时总是提示密码不符合要求:ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT ……

安装MySQL5.6新建用户并创建密码时总是提示密码不符合要求:ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT polic...
  • zyz511919766
  • zyz511919766
  • 2013-10-15 17:35:46
  • 39898

MySQ修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

在修改密码的时候报错了ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。      ...
  • hanerer1314
  • hanerer1314
  • 2018-03-08 13:18:03
  • 55

mysql5.7修改密码ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。 查看密...
  • xiaoyi23000
  • xiaoyi23000
  • 2017-06-04 17:19:11
  • 692

cloudera安装过程报错:Your password does not satisfy the current policy requirements

安装cm的时候执行创建数据库:sudo sh  /usr/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p scm scm scm,报错...
  • u010469632
  • u010469632
  • 2017-08-24 20:54:04
  • 1859

ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。

错误原因:你的mysql设置了密码安全验证等级. 在创建用户的时候密码设置的过于简单。解决办法: 如果等级为1,也就是中等的话。你可以尝试设置密码为大写字母+小写字母+汉子+特殊字符。 当然,如...
  • qq_33350186
  • qq_33350186
  • 2017-05-19 14:41:12
  • 500

CentOS6.5 登录mysql 运行SQL语句总是报错解决

会报: centos6.5 Access denied for user 'root'@'localhost' (using password: NO) mysqladmin: unable ...
  • u011673111
  • u011673111
  • 2016-03-23 16:25:54
  • 414
收藏助手
不良信息举报
您举报文章:mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
举报原因:
原因补充:

(最多只允许输入30个字)