ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL密码复杂度策略

2021-01-15 16:32:13  阅读:207  来源: 互联网

标签:插件 复杂度 mysql 密码 MySQL validate password


MySQL密码复杂度策略

MySQL

前言

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

本文采用测试环境:MySQL 8.0.15

一、查看所需插件

1.1 在 MySQL安装目录中,\MySQL Server 8.0\lib\plugin 可以看到默认存在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,validate,password
来源: https://www.cnblogs.com/lcxhk/p/14282782.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有