MySQL问题解析--8.0版本执行SHOW VARIABLES LIKE ‘validate_password.%‘ 显示为 empty

MySQL8.0版本执行SHOW VARIABLES LIKE ‘validate_password.%’ 显示为 empty

  • 故障描述
    当执行 SHOW VARIABLES LIKE ‘validate_password.%’ 时,显示的为 Empty set, 1 warning(0.00 sec)。

    mysql>show variables like validate password%';
    Empty set,1 warning (0.00 sec)
    
  • 故障原因
    出现这个问题是因为并没有安装 validate_password 插件。
    在这里插入图片描述

  • 解决方法
    记录:在执行操作的时候,发现可以在 navicat 中的查询窗口操作
    在这里插入图片描述
    8.0 安装卸载validate_password插件 和 validate_password组件

    • MySQL5.7, 用的是 validate_password 插件
      MySQL8.0, 用的是 validate_password 组件

    • Ubuntu20.04下用apt安装的MySQL8.0默认没有使用validate_password 插件或组件
      CentOS7下用官方yum仓库安装的MySQL8.0默认启用validate_password 组件
      MySQL5.7的 validate_password 插件 在MySQL8.0中任然可以使用,但默认不使用,已过时,未来准备移除

    • 安装卸载 validate_password 组件

      1. 安装 validate_password 组件

        ### 安装 validate_password 组件
        INSTALL COMPONENT 'file://component_validate_password';
        
      2. 卸载 validate_password 组件

        ### 卸载 validate_password 组件
        UNINSTALL COMPONENT 'file://component_validate_password';
        
    • 安装卸载 validate_password 插件

      1. 安装 validate_password 插件

        ### 安装 validate_password  插件
        INSTALL PLUGIN validate_password SONAME 'validate_password.so';
        
      2. 卸载 validate_password 插件

        ### 卸载 validate_password  插件
        UNINSTALL PLUGIN validate_password;
        
    • 查看 validate_password 相关系统变量

      ### 查看 validate_password 的相关MySQL系统变量
      SHOW VARIABLES LIKE '%validate_password%';
      
### MySQL 密码验证插件的相关配置变量 在 MySQL 中,`validate_password` 插件用于强制执行密码策略。以下是与 `validate_password` 配置相关的几个重要变量及其功能说明: #### 1. `validate_password.policy` 该参数定义了密码强度的级别。共有三种可能的值: - **0 或 LOW**: 只需满足最小长度要求。 - **1 或 MEDIUM**: 除了长度外,还要求至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符。 - **2 或 STRONG**: 基于字典文件进一步增强安全性。 设置方法如下所示[^1]: ```sql set global validate_password.policy=0; ``` #### 2. `validate_password.length` 此参数指定了允许的最短密码长度。默认情况下,其值为 8。可以通过以下 SQL 命令调整它: ```sql set global validate_password.length=6; ``` #### 3. `validate_password.mixed_case_count` 指定密码中必需的大写和小写字母数量,默认值为 1。如果需要更改,则可以运行类似的语句来修改: ```sql SET GLOBAL validate_password.mixed_case_count = X; /* 替换X为目标数值 */ ``` #### 4. `validate_password.number_count` 表示密码应包含多少个数字字符。同样地,默认也是 1,并可通过下面的方式重新设定: ```sql SET GLOBAL validate_password.number_count = Y; /* 将Y替换成期望的数量 */ ``` #### 5. `validate_password.special_char_count` 规定了密码里必要的特殊字符数目。默认设为 1,具体操作同前几项一致: ```sql SET GLOBAL validate_password.special_char_count = Z; /* 这里的Z代表新的需求量 */ ``` 为了确认上述各项当前的实际状态,在成功连接到数据库之后可利用这条指令查看所有以 `validate_password` 开头的系统变量详情[^2]: ```sql SHOW VARIABLES LIKE 'validate_password%'; ``` 另外值得注意的是关于密钥管理方面的一些额外选项比如迁移加密存储时需要用到特定命令行工具完成转换过程中的安全处理工作[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值