zoukankan      html  css  js  c++  java
  • MySQL修改密码提示报错

    授权给用户较弱的密码

    
    mysql> GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY '123@com';
    
    

    提示报错

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    
    -- 错误1819(HY000):您的密码不符合当前的策略要求
    
    

    修复-MySQL错误1819(HY000):您的密码不符合当前的策略要求

    1.查询当前的密码策略级别

    在新版Mysql中加入了validate_password插件用于测试密码并提高安全性;这会影响ALTER USER, CREATE USER, GRANT,和 SET PASSWORD语句。

    首先,我们需要找到当前的密码策略级别

    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+--------+
    | Variable_name                        | Value  |
    +--------------------------------------+--------+
    | validate_password_check_user_name    | OFF    |
    | 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      |
    +--------------------------------------+--------+
    7 rows in set (0.01 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 参数可选值:MEDIUM或者0 、LOW或者1、STRONG或者2
    
    LOW :策略仅测试密码长度。密码长度必须至少为8个字符。
    MEDIUM :策略添加了密码必须至少包含1个数字字符,1个小写字符,1个大写字符和1个特殊(非字母数字)字符的条件。
    STRONG :策略添加了长度为4或更长的密码子字符串不能匹配字典文件中的字词(如果已经指定)的条件。
    所以最终的密码设置策略就是:不得低于8位,而且必须至少有一个大写和一个小写字母、至少一个数字和至少的一个特殊字符组成;
    
    最基本的规则:大写+小写+特殊字符+数字组成的8位以上密码
    
    

    2.更改MySQL中的密码验证策略

    mysql> SET GLOBAL validate_password_policy = 0;
    Query OK, 0 rows affected (0.00 sec)
    -- 或
    mysql> SET GLOBAL validate_password_policy=LOW;
    Query OK, 0 rows affected (0.00 sec)
    
    #检查密码策略是否已更改为低
    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+-------+
    | Variable_name                        | Value |
    +--------------------------------------+-------+
    | validate_password_check_user_name    | OFF   |
    | 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     |
    +--------------------------------------+-------+
    7 rows in set (0.00 sec)
    
    #现在可以授权给用户或创建用户弱密码
    mysql> GRANT ALL PRIVILEGES ON *.* TO zzc@'172.16.1.7' IDENTIFIED BY '12345678';
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> CREATE USER zzc@'172.16.1.7' IDENTIFIED BY '12345678';
    Query OK, 0 rows affected (0.00 sec)
    
    #提示报错,超过密码策略的长度
    mysql> GRANT ALL PRIVILEGES ON *.* TO zzc@'172.16.1.7' IDENTIFIED BY '12345';
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    
    #修改密码策略长度
    mysql> -- 设置密码长度最低为5位
    mysql> SET GLOBAL validate_password_length=5;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+--------+
    | Variable_name                        | Value  |
    +--------------------------------------+--------+
    | validate_password_check_user_name    | OFF    |
    | validate_password_dictionary_file    |        |
    | validate_password_length             | 5      |
    | validate_password_mixed_case_count   | 1      |
    | validate_password_number_count       | 1      |
    | validate_password_policy             | MEDIUM |
    | validate_password_special_char_count | 1      |
    +--------------------------------------+--------+
    7 rows in set (0.00 sec)
    
    #修改成功
    mysql> GRANT ALL PRIVILEGES ON *.* TO zzc@'172.16.1.7' IDENTIFIED BY '12345';
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    #恢复到中级策略,执行以下命令
    mysql> SET GLOBAL validate_password_policy = 1;
    Query OK, 0 rows affected (0.00 sec)
    -- 或
    mysql> SET GLOBAL validate_password_policy=MEDIUM;
    Query OK, 0 rows affected (0.00 sec)
    
    
  • 相关阅读:
    [学习笔记]设计模式之Bridge
    整数划分问题 动态规划
    powershell 发邮件
    python 对象序列化并压缩
    python的序列化与反序列化(例子:dict保存成文件,文件读取成dict)
    ACM-ICPC 2018 world final A题 Catch the Plane
    AlphaPose论文笔记《RMPE: Regional Multi-person Pose Estimation》
    《DensePose: Dense Human Pose Estimation In The Wild》阅读笔记
    [转]tensorflow 中的卷积conv2d的padding 到底要padding多少
    OpenPose论文笔记《Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields》
  • 原文地址:https://www.cnblogs.com/backz/p/15353690.html
Copyright © 2011-2022 走看看