04.MySQL密码强度校验插件

news2024/12/22 18:16:22

MySQL密码强度校验插件

1.介绍

在MySQL中,可以通过开启validate_password插件来进行密码强度校验。这个插件可以确保用户设置的密码强度满足一定的要求,提高数据
库的安全性

2.流程图

3.默认开启情况

  • MySQL5.7:插件已经安装但未启用
  • MySQL8:安装并启用

4.检查是否安装

# 查看插件
show plugins;

# 查看validate_password的插件信息
show variables like 'validate_password%';

5.启用

启用方式

  • 在参数文件my.cnf中添加参数(需重启,永久生效)
  • 运行时命令安装(不需要重启,永久生效)

在参数文件my.cnf中添加参数

# 注意
# plugin library中的validate_password文件名的后缀名根据平台不同有所差异。 对于Unix和Unix-like系统而言,它的文件后缀名是.so,对于Windows系统而言,它的文件后缀名是.dll
# 参数FORCE_PLUS_PERMANENT是为了防止插件在MySQL运行时的时候被卸载。当你卸载插件时就会报错

[mysqld]
plugin-load-add=validate_password.so
\#ON/OFF/FORCE/FORCE_PLUS_PERMANENT: 是否使用该插件(及强制/永久强制使用)
validate-password=FORCE_PLUS_PERMANENT

运行时命令安装

此方法也会注册到元数据,也就是mysql.plugin表中,所以不用担心MySQL重启后插件会失效

INSTALL PLUGIN validate_password SONAME 'validate_password.so';

6.设置密码安全策略

设置方式

  • 配置文件
  • 命令

配置文件

打开my.cnf找到[mysqld]部分,其中添加以下配置:

validate_password.policy=LOW
validate_password.length=8
validate_password.number_count=1
validate_password.special_char_count=1

命令

SET GLOBAL validate_password_policy=LOW;
SET GLOBAL validate_password_policy=MEDIUM;
SET GLOBAL validate_password_policy=STRONG;
SET GLOBAL validate_password_policy=0;  # For LOW
SET GLOBAL validate_password_policy=1;  # For MEDIUM
SET GLOBAL validate_password_policy=2;  # For HIGH
set global validate_password_length=1;

修改密码

如果不满足密码安全策略就会失败

ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';

7.关于validate_password组件对应的系统变量说明

说明

选项默认值参数描述
validate_password_check_user_nameON设置为ON的时候表示能将密码设置成当前用户名
validate_password_dictionary_file用于检查密码的字典文件的路径名,默认为空
validate_password_length8密码的最小长度,也就是说密码长度必须大于或等于8
validate_password_mixed_case_count1如果密码策略是中等或更强的,validate_password要求密码具有的小写和大写字符的最小数量。对于给定的这个值密码必须有那么多小写字符和那么多大写字符
validate_password_number_count1密码必须包含的数字个数
validate_password_policyMEDIUM密码强度检验等级,可以使用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定,0:只检查长度,1:检查长度、数字、大小写、特殊字符,2:检查长度、数字、大小写、特殊字符、字典文件
validate_password_special_char_count1密码必须包含的特殊字符个数

提示

组件和插件的默认值可能有所不同。例如,MySQL 5.7. validate_password_check_user_name的默认值为OFF

8.卸载插件、组件

# 卸载插件
UNINSTALL PLUGIN  validate_password;

# 卸载组件
UNINSTALL COMPONENT 'file://component_validate_password';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1597944.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache Paimon 流式湖仓介绍说明

文章目录 前言选择 Paimon 的原因Apache Paimon 功能一致性保证Paimon 表类型数据湖写入标签和时间线回溯捕获变更数据写入数据湖LSM 和分层文件重用流处理案例使用 Paimon 作为消息队列 前言 Apache Flink 自诞生以来经历了重大演变,如今,它不仅充当批…

银河麒麟高级服务器操作系统adb读写缓慢问题分析

1.问题环境 处理器: HUAWEI Kunpeng 920 5251K 内存: 512 GiB 整机类型/架构: TaiShan 200K (Model 2280K) BIOS版本: Byosoft Corp. 1.81.K 内核版本 4.19.90-23.15.v2101.ky10.aarch64 第三方应用 数据库 2.问题…

关于centos8自带的apache2.4开启https后,XP系统的IE8无法显示网页的问题

经检验,是因为系统的apache和openssl版本太高导致的。 禁用系统默认的apache2.4,自己重新源码编译安装一套openssl-1.0.1fapache2.2.23php7.1.2即可。跟update-crypto-policies没有关系,可保持默认的DEFAULT状态。 关于centos8自带的apache2…

2.SG90舵机模块

当我们输出一段脉冲信号的时候就可以调节舵机的角度 我们可以从原理图可以看到舵机的脚在PA6 从芯片手册我们又可以看到PA6对应TIM3_CH1,并且不用开启部分重映像就能使用 新建Servo.c存放PWM初始化 配置PWM void Servo_TIM3_Init(u16 arr,u16 psc) {//开启TIM3的时钟RCC_APB1…

简单粗暴解决 wampapache 突然无法启动错误1053

问题是因为没有安装:vc_redist_x64 导致的 全网最简单粗暴解决下 DirectX_v4.1修复

pyqt QToolBar 选中高亮

目录 效果图 示例代码 效果图 示例代码 from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QToolBar, QToolButtonclass HighlightingToolButton(QToolButton):def __init__(self, parentNone):super().__init__(parent)self.setCheckable(True)def nextChe…

在centos8.5上迁移深度学习环境的时候碰到的一下问题(需要运维人员解决的)

我负责的是将开发服务器上的深度学习环境进行打包并将该环境迁移到生产服务器上,这些操作可以在其他博客中搜到 本文主要介绍我把环境包上传至生产服务器中的anaconda/envs/路径下,解压之后,运行测试代码时遇到的问题 IT部门是如何处理的&am…

servlet的三个重要的类(httpServlet 、httpServletRequst、 httpServletResponse)

一、httpServlet 写一个servlet代码一般都是要继承httpServlet 这个类,然后重写里面的方法 但是它有一个特点,根据之前写的代码,我们发现好像没有写main方法也能正常执行。 原因是:这个代码不是直接运行的,而是放到…

hive使用sqoop与oracle传输数据

下载地址 http://archive.apache.org/dist/sqoop 两个版本sqoop1(1.4.x)和sqoop2(1.99.x),两种不同的架构。 本文使用sqoop1。 sqoop是apache旗下一款“hadoop与关系数据库之间传送数据”的工具。 导入数据&#xf…

比特币减半:挑战与机遇

比特币减半是加密货币领域中一件备受关注的大事,它不仅影响着比特币本身的发展,也深刻影响着整个加密货币市场的走势。在这个历史性时刻,我们有必要深入分析比特币减半带来的挑战与机遇,以及未来的加密货币发展趋势。 挑战&#x…

如何配置STM32的UART/USART接口?

配置STM32的UART/USART接口是实现串行通信的基础。以下是详细的配置步骤和示例代码。 1. 选择时钟源 首先,需要确保USART接口的时钟已经使能。通常,这在初始化代码中完成,或者通过STM32CubeMX工具进行配置。 // 假设USART2位于APB1总线上 …

告别Elementor Pro,无需下载,全新中文版的国产替代方案来袭

如果你正在考虑创建自己的网站,那么在第一次谷歌搜索时,你可能已经看到了WordPress、Elementor和网站构建器这些专业名称。WordPress是最受欢迎的网站平台之一,这不难理解:它高度可定制,易于学习,而且是免费…

市场复盘总结 20240415

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 二进三: 进级率 0% 最常用的…

服务器负载均衡SLB/加密原理

多台服务器提供相同的服务 SLB(server load balancing) 多台服务器对应一个虚拟地址,该地址是防火墙虚拟出来的。 服务器负载均衡功能仅支持IPV4协议 多通道协议仅支持FTP协议

k8s高可用集群部署介绍 -- 理论

部署官网参考文档 负载均衡参考 官网两种部署模式拓扑图和介绍 介绍两种高可用模式 堆叠 拓扑图如下(图片来自k8s官网): 特点:将etcd数据库作为控制平台的一员,由于etcd的共识算法,所以集群最少为3个&…

【面试经典 150 | 数学】阶乘后的零

文章目录 写在前面Tag题目来源题目解读解题思路方法一:数学优化计算 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结…

Github copilot我用正版登录授权的,来体验一下吧

Github copilot 市面上的那种可以说是破解的,不是代码补全不稳定,就是chat不稳定,反正就是不怎样! 下面是官网正版开通的,欢迎体验15天 体验地址:https://www.bilibili.com/read/cv33696436 这种copilo…

zabbix解析以及安装

目录 zabbix 是什么? zabbix 是什么? ●zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 ●zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快…

移动Web学习07-适配单位vw/vh哔哩哔哩移动端vw单位适配案例

1.1、VW相对单位 前面我们已经学习了rem单位 &#xff0c;他是一个相对单位、相对于HTML表格字号大小 VW/VH也是一个相对单位&#xff0c;他是相对于视口的尺寸计算结果 VW&#xff1a;viewport width VH: viewport height <meta name"viewport" content"…

软件设计:UML 模型图总结

1. 相关链接 参考教程&#xff1a; https://sparxsystems.com/resources/tutorials/ https://sparxsystems.com/enterprise_architect_user_guide/15.2/model_domains/whatisuml.html Unified Modeling Language (UML) description, UML diagram examples, tutorials and r…