MySQL设置密码复杂度

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

本文采用测试环境:MySQL 8.0.15

1、在 MySQL安装目录中,\MySQL Server 8.0\lib\plugin 可以看到默认存在validate_password.dll

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

安装插件:

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

卸载:
  mysql> UNINSTALL PLUGIN validate_password;

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

  

3、查看默认策略配置:

show variables like 'validate_password%'; 

 4、测试

修改密码

alter user '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';

密码重置成功,可重新登录。

 

参考链接:

 https://www.cnblogs.com/zhi-leaf/p/5994478.html

 

posted @   Bypass  阅读(31580)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示