zoukankan      html  css  js  c++  java
  • MySQL密码复杂度策略

    前言

    MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置。

    本文采用测试环境:MySQL 8.0.15

    一、查看所需插件

    1.1 在 MySQL安装目录中,MySQL Server 8.0libplugin 可以看到默认存在validate_password.dll

    1.2 在MySQL 8.0.15中默认没有安装这个插件,我们可以通过 SELECT * from mysql.plugin; 查看,列表为空。

    二、安装插件

    2.1 进入MySQL安装插件

    添加:
      mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.dll';
    
    卸载:
      mysql> UNINSTALL PLUGIN validate_password;

    插件安装后,使用 show plugins; 查看是否启用成功

    2.2 查看默认策略配置:

    查看默认策略配置命令show variables like 'validate_password%';

    三、测试

    3.1 修改密码

    alter us提示er 'root'@'localhost' identified by '123456789';
    #提示错误
    [SQL]alter user 'root'@'localhost' identified by '123456789';
    [Err] 1819 - Your password does not satisfy the current policy requirements

    四、各项值说明

    validate_password_policy:密码安全策略,默认MEDIUM策略

    策略检查规则
    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

    validate_password_dictionary_file:密码策略文件,策略为STRONG才需要

    validate_password_length:密码最少长度

    validate_password_mixed_case_count:大小写字符长度,至少1个

    validate_password_number_count :数字至少1个 validate_password_special_char_count:特殊字符至少1个

    修改策略(将策略要求置为LOW,长度要求置为1)

    set global validate_password_policy=0;
    set global validate_password_length=1;

    经测试,最小长度为4,设置为1无效,不晓得为什么,后面再查询下。

    如不需要,可关闭复杂性策略

    mysql> set global validate_password_policy=0;       # 关闭密码复杂性策略
    mysql> set global validate_password_length=1;      # 设置密码复杂性要求密码最低长度为1
    mysql> select @@validate_password_policy;          # 查看密码复杂性策略
    mysql> select @@validate_password_length;          # 查看密码复杂性要求密码最低长度大小

    重置密码验证,可成功修改:

    alter user 'root'@'localhost' identified by '1234';

    本文为转载,非本人原创,原文地址:# MySQL设置密码复杂度

  • 相关阅读:
    MySQL基础
    MySQL约束
    firefox插件hostadmin自由切换host
    ITerm2下使用ssh访问Linux
    web优化(一 前端)
    php类的魔术方法也就是带下划线的类方法介绍及应用
    数据库水平切分的实现原理(分库,分表,主从,集群,负载均衡)
    三年以上php开发经验常见面试题
    php海量架构
    一个高级PHP工程师所应该具备的(转自元如枫博客)
  • 原文地址:https://www.cnblogs.com/lcxhk/p/14282782.html
Copyright © 2011-2022 走看看