zoukankan      html  css  js  c++  java
  • MySQL-配置密码策略(validate_password)插件

    1. 检查插件目录

    mysql> show variables like 'plugin_dir';

    2. 下载第三方开源插件文件并上传到步骤1目录上

    3. 配置文件中添加对象参数配置

    [mysqld]
    plugin-load-add=validate_password.so
    or 
    plugin-load=validate_password.so
    # validate_password_policy=2
    validate-password=FORCE_PLUS_PERMANENT

    4. 连接数据库并进行安装插件

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

    5. 检查确认

    SELECT
        PLUGIN_NAME,
        PLUGIN_STATUS,
        plugin_library,
        load_option
    FROM
        INFORMATION_SCHEMA.PLUGINS 
    WHERE
        plugin_library = 'validate_password.so';
           
    mysql> show plugins;  

    6. 根据需求配置密码策略

     6.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      |
    +--------------------------------------+--------+

    6.2 密码验证插件选项和变量

    1)选项--告诉服务启动时如何加载插件
    --validate-password[=ON|OFF|FORCE|FORCE_PLUS_PERMANENT]

    ON: 默认值
    OFF:关闭
    FORCE: 强制
    FORCE_PLUS_PERMANENT: mysqld服务启动时加载插件并防止服务在运行中将其删除

    2)变量--启用的检查配置项

    validate_password_check_user_name : 默认关闭,设置为ON时可以将密码设置成当前用户名
    validate_password_dictionary_file : 检查密码的字典文件的路径名
    validate_password_length : 默认为8,限制密码长度的最小字符数
    validate_password_mixed_case_count : 默认值为1,限制小写字符和大写字符个数 
    validate_password_number_count : 默认值为1,限制数字的个数
    validate_password_policy : 默认值为1, 密码强度等级 [LOW:0| MEDIUM:1 | STRONG:2]
    validate_password_special_char_count : 默认值为1,限制特殊字符个数
    
    其中,validate_password_policy
    0/LOW:只检查长度。
    1/MEDIUM:检查长度、数字、大小写、特殊字符。
    2/STRONG:检查长度、数字、大小写、特殊字符字典文件。

    7. 注意事项

    7.1 账号密码过期,需修改密码

    遇到场景:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    # 1. 注意密码策略要求 validate_password_policy 等
    show variables like 'validate_password%';
    
    # 2. 依据密码策略要求修改密码
    /*
    -- 2.1 如果密码与Server的策略要求不一致时,临时修改策略及密码后恢复密码策略
    set global validate_password_policy=0;
    set global validate_password_length=1;
    */
    alter user 'root'@'localhost' identified by 'root';
    /*
    set global validate_password_policy=1;
    set global validate_password_length=8;
    */
    flush privileges;
    
    -- 2.2 密码符合要求
    alter user 'root'@'localhost' identified by 'R#isn218aio';
    flush privileges;

    7.2 

  • 相关阅读:
    常用 SQL 语句使用的总结
    LC 583. Delete Operation for Two Strings
    LC 873. Length of Longest Fibonacci Subsequence
    LC 869. Reordered Power of 2
    LC 900. RLE Iterator
    LC 974. Subarray Sums Divisible by K
    LC 973. K Closest Points to Origin
    LC 975. Odd Even Jump
    LC 901. Online Stock Span
    LC 722. Remove Comments
  • 原文地址:https://www.cnblogs.com/binliubiao/p/12462693.html
Copyright © 2011-2022 走看看