zoukankan      html  css  js  c++  java
  • Mysql 5.7 密码策略 ERROR 1819 (HY000)

    Mysql 5.7 默认对用户密码有密码强度要求,如果指定弱密码,会提示如下:

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

      Mysql 5.7 中的密码强度控制,是由插件来实现的,具体是由操作系统上的文件/usr/lib64/mysql/plugin/validate_password.so 来控制(RPM安装,即默认位置)。先来了解下密码策略

      

    1. 查看默认密码策略

    • 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      |
      +--------------------------------------+--------+

      其中,我们看到参数:validate_password_policy (即密码策略)的值是MEDIUM。官方对于该参数的值说明如下:

    policy explanation
    0 or LOW length
    1 or MEDIUM 0+numeric;lowercase/uppercase; special characters
    2 or STRONG 1+validate_password_dictionary_file

      在上面show  variables 查看到的参数,除 validate_password_policy 外,其他都是密码策略的各种控制参数。

        • validate_password_length                   ---> 密码长度,默认8
        • validate_password_mixed_case_count  ---> 大小写字母每种最少多少个,默认开启,至少1个。
        • validate_password_number_count        ---> 包含数字个数,默认 >= 1
        • validate_password_special_char_count ---> 特殊字符个数,默认 >= 1
        • validate_password_dictionary_file        ---> 密码强度控制字典路径。

    2. 密码强度验证的开启与关闭

      2.1 启用

        插件对应的库对象文件需在配置选项plugin_dir指定的目录中。

        可使用--plugin-load=validate_password.so,在server启动时载入插件,或者将plugin-load=validate_password.so写入配置文件,:

    [mysqld]
    
    plugin-load=validate_password.so
    
    validate-password=FORCE_PLUS_PERMANENT

        也可以通过如下语句在server运行时载入插件(会注册进mysql.plugins表)

    mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';

           2.2 关闭

        方法1) 关闭密码策略

          在/etc/my.cnf配置文件中增加:

          

    [mysqld]
    validate_password=off

          然后重启mysql

        方法2)更改密码策略

    set global validate_password_policy=0;       # 修改密码策略为low
    set global validate_password_length=0;       # 密码长度为设置为0 ,即大于0个字符的密码都可以

        方法3)初始化Mysql时不启用插件

            

    mysqld --initialize-insecure --datadir=/var/lib/mysql --basedir=/usr --user=mysql

           


    ===================
    天行健,君子以自强不息
    地势坤,君子以厚德载物
    ===================
  • 相关阅读:
    win8系统下,python 2.7安装xlrd,xlutils和xlwt的方法
    phone number
    string to int
    Linux P2V Azure
    Azure IaaS 知识点小节
    Exchange端口列表
    自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名(转)
    Power BI REST API
    Web App 压力测试
    Azure IaaS限制
  • 原文地址:https://www.cnblogs.com/halberd-lee/p/8538753.html
Copyright © 2011-2022 走看看