当前位置: 首页 > news >正文

MySQL密码复杂度策略配置

1、MySQL密码复杂度策略介绍

  在MySQL中,可以通过配置密码策略来设置密码的复杂度要求。MySQL提供了一些参数和插件来帮助管理员强制实施密码复杂度策略,确保数据库用户使用强密码。下面将详细介绍如何设置密码复杂度策略,并结合代码示例进行说明。

2、实验环境 

  数据库版本:8.0.45 MySQL Community Server - GPL

  操作系统:Windows server 2025 

3、使用validate_password插件

   validate_password插件是MySQL提供的一个插件,用于验证密码的复杂度。通过启用和配置该插件,可以控制密码的长度、字符种类和其他复杂度要求。

3.1、启用validate_password插件

  在 MySQL 配置文件 my.cnf 或 my.ini (Windows默认位置C:\ProgramData\MySQL\MySQL Server 8.0)中启用 validate_password 插件。编辑 MySQL 配置文件,在 [mysqld] 部分添加以下内容:

plugin-load-add=validate_password.so  # 加载插件
validate-password=FORCE_PLUS_PERMANENT  # 强制插件启用

  或者,如果 MySQL 已经运行,可以使用以下 SQL 命令手动加载插件:

 INSTALL PLUGIN validate_password SONAME 'validate_password.so'; 

3.2、配置validate_password插件参数

      validate_password插件提供了一些参数,用于配置密码复杂度策略:

   validate_password.length              密码的最小长度。

   validate_password.mixed_case_count        密码中包含的大小写字符的最少数量。

   validate_password.number_count          密码中包含的数字的最少数量。

   validate_password.special_char_count       密码中包含的特殊字符的最少数量。

   validate_password.policy              密码策略级别,可以是 LOW、MEDIUM 或 STRONG。

    查看当前MySQL密码复杂度策略

   使用以下命令查看当前MySQL密码复杂度策略:SHOW VARIABLES LIKE 'validate_password%'; 

   image

4、配置MySQL密码复杂度策略

4.1、临时生效

  设置MySQL数据库密码策略:

  set global validate_password.length=10;          设置密码的最小长度为10位
  set global validate_password.mixed_case_count=1;     设置密码中包含的大小写字符的最少数量为1位
  set global validate_password.number_count=1;       设置密码中包含的数字的最少数量为1位
  set global validate_password.special_char_count=1; 设置密码中包含的特殊字符的最少数量为1位
  set global validate_password.policy=STRONG;        设置密码策略级别为STRONG

    image 

4.2、永久生效

  在MySQL配置文件 my.cnf 或 my.ini中,在 [mysqld]部分添加以下内容:

validate_password.length=10          
validate_password.mixed_case_count=1     
validate_password.number_count=1      
validate_password.special_char_count=1validate_password.policy=STRONG        

  image

  查看密码策略

  image

5、验证与测试

  创建不符合密码策略的密码:

create user 'test'@'localhost' identified by '123456';    
create user 'test'@'localhost' identified by 'abc123';    
create user 'test'@'localhost' identified by 'abcd1234';
create user 'test'@'localhost' identified by 'Abcd123';
create user 'test'@'localhost' identified by 'Abcd@1234';

  账户创建失败

  image

  创建符合密码策略的密码:

   create user 'test'@'localhost' identified by 'Abcd@123456';   

   账户创建成功 

   image

 

 

  

 

 

 

 

 

  

http://www.jsqmd.com/news/289256/

相关文章:

  • 探讨东莞好用的升降窗工厂排名,好乐居智能门窗表现出色
  • 2026山东最新股权评估公司top5推荐!潍坊等地专业股权评估机构权威榜单发布,资质技术双优助力企业价值评估
  • 无需LLM评判,用几何方法检测AI幻觉
  • 基于SpringBoot的健康管理系统的实现与设计
  • 基于SpringBoot的农产品溯源管理系统设计实现
  • 基于SpringBoot的宿舍管理系统的设计与实现
  • 实用指南:apache seatunnel 2.3.12 Changelog
  • 高性价比回收!支付宝立减金不闲置,可可收帮你盘活
  • 得润电气的物流配送服务好吗,了解其配送的可靠性
  • 2026年市面上热门的沸石转轮工厂推荐排行榜,除尘器/沸石转轮+CO/沸石转轮/催化燃烧,沸石转轮制造厂家排行榜
  • 数据恢复神器,官方免费
  • org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
  • 渗透测试之Metasploit实战:拿下Windows Server靶机全流程,一篇文章深度解析!
  • Web 渗透测试工具使用教程——Burp Suite安装与基础配置!
  • 渗透测试实战案例:某企业Web系统从漏洞挖掘到权限控制全记录,一文详解!
  • 渗透测试常见漏洞:SQL注入原理、检测与防御全解析(超详细),看这一篇就够了!
  • 怎么判断AI证书的含金量,避免考到 “鸡肋” 证书?
  • 2026德州口碑好的实木家具品牌推荐,新顺家具性价比超高!
  • 阿里巴巴运营达人2026年排行:创新与突破并存,阿里巴巴资深运营/阿里巴巴运营/阿里运营,阿里巴巴运营达人哪个好
  • 亲测好用!MBA毕业论文必备TOP10一键生成论文工具
  • 【重磅】优质的广东朋友圈广告代理推荐排行
  • 四机架冷连轧机液压辊缝控制系统研究
  • 13-面向对象
  • 2026厦门冰裂纹品牌评测:品味独特,哪款更适合你?地铺石/砌墙石/石材/蘑菇石/碎拼石/脚踏石,冰裂纹公司选哪家
  • 运算符:3.赋值运算符
  • 2026版Spring全家桶学习笔记(Spring+Springboot+SpringCloud)
  • 【重磅】诚信的深圳腾讯广告代理推荐排行
  • 整理2026年橙皮苷专用真空干燥机推荐厂家的排名
  • 2026全场景智能解决方案厂家TOP5推荐 五家企业凭实力领跑
  • 电梯广告优选榜单:2025年口碑企业助你品牌升级,电梯门贴广告/机场广告/主流网络媒体,电梯广告价格推荐榜单