从创建用户说起:

  如我们在mysql中可以用grant all on *.* to userd@'localhost' identified by '123'; 来创建一个userd用户,虽然用户是创建成功了,但是这个用户的密码强度

  太低了非常容易被破解;为了把问题解决在摇篮里,最好是在创建用户时就验证密码强度,如果强度达不到要求就不允许创建。为了达到这个目地validate_password

  插件应运而生。

安装validate_password插件:

  install plugin valaidte_password soname 'validate_password.so';

用于控制validate_password行为系统参数:

  这些参数是要安装好validate_password 插件后才能通过show variables like 'validate_password%';看到。

  001、validate_password_policy 这个参数用于控制validate_password的验证策略 0-->low  1-->MEDIUM  2-->strong。

  002、validate_password_length密码长度的最小值(这个值最小要是4)。

  003、validate_password_number_count 密码中数字的最小个数。

  004、validate_password_mixed_case_count大小写的最小个数。

  005、validate_password_special_char_count 特殊字符的最小个数。

  006、validate_password_dictionary_file 字典文件

各个参数是如何通过配合来完成用户验证的:

  001、当validate_password_policy=0时 这个时候只对密码长度做验证,也就是说它和validate_password_length一起配合起来完成用户验证。

     这种情况下只要密码达到validate_password_length指定的长度后就行。

  002、当valdiate_password_policy=1时 这个时候首先要满足的是validate_password_policy=0时的验证要求。然后现去验证密码中的

     数字个数,大小写个数,特殊字符个数。这些又分别由validate_password_number_count,validate_password_mixed_case_count,

     validate_password_special_char_count 这几个参数来控制。

  003、validate_password_policy=2 这个时候它首先是要满足前面说到的0、1 的要求;然后它还追加了一个,对于密码中任意连续4个(或4个让上)字符不

     得是字典中的单词。

MySQL validate_password 插件的更多相关文章

  1. Qt添加驱动——Qt数据库之添加MySQL驱动插件

    Qt数据库之添加MySQL驱动插件(1) 现在可用的数据库驱动只有3种,在Qt中,我们需要自己编译其他数据库驱动的代码,让它们以插件的形式来使用.下面我们就以现在比较流行的MySQL数据库为例,说明一 ...

  2. 如何在Zabbix上安装MySQL监控插件PMP

    PMP,全称是Percona Monitoring Plugins,是Percona公司为MySQL监控写的插件.支持Nagios,Cacti.从PMP 1.1开始,支持Zabbix. 下面,看看如何 ...

  3. MyBatis Generator实现MySQL分页插件

    MyBatis Generator是一个非常方便的代码生成工具,它能够根据表结构生成CRUD代码,可以满足大部分需求.但是唯一让人不爽的是,生成的代码中的数据库查询没有分页功能.本文介绍如何让MyBa ...

  4. 基于JRebel开发的MySQL Explain插件

    前言 我们在使用数据库时,为了使业务系统性能达到最优,往往都需要避免慢SQL查询,不能等到线上告警了再排查是否为慢SQL导致.在开发阶段,每个开发人员就应该针对自己写的SQL看是否可能为慢SQL,从而 ...

  5. mysql审计插件

    Audit Plugin安装使用 原文: https://www.cnblogs.com/waynechou/p/mysql_audit.html#_label0   #有卸载方法 下载地址: htt ...

  6. sqlServer、MySql批量操作插件

    SqlServer: 1.EntityFramework.BulkInsert  .只适用于SqlServer.要想实现MySql批量插入,得自己实现一些方法,注册驱动之类,暂时没能力. 2.z.en ...

  7. 关闭mysql validate-password插件

    mysql5.7 的validate-password对密码策略有限制,比如长度大小写,太麻烦,我习惯开发环境下为root,所以在开发环境关闭这个插件的话只需在/etc/my.cnf中添加valida ...

  8. mysql审计插件-记录所有sql语句

    https://www.58jb.com/html/160.html https://www.jianshu.com/p/a0e0aec3cb6f MySQL审计工具Audit Plugin安装使用 ...

  9. mysql 自定义插件调试

    # 创建表的stack frame #0: 0x000000011d11f58a ha_spartan.so`Spartan_data::create_table(this=0x00007f9fc13 ...

随机推荐

  1. export-data.js

    var timeBtnClick = (function() { function _todayClick() { $('.select-time .today').on('click', funct ...

  2. [转]MySQL 5.6 全局事务 ID(GTID)实现原理(三)

    原文连接:http://qing.blog.sina.com.cn/1757661907/68c3cad333002s5l.html 原文作者:淘长源 转载注明以上信息 这是 MySQL 5.6 全局 ...

  3. css制作最简单导航栏

    css制作最简单导航栏

  4. linux的一点一滴---open

    open函数用于打开和创建一个文件. 所需头文件: #include<sys/types.h> #include <sys/stat.h> #include <fcntl ...

  5. Keil C51 中指针的使用

    指针是C语言中比较难的一个内容,Keil C51在指针方面有和标准C不一样的地方,今天看了一些资料学习了一下Keil C51 中指针的使用. keil51的指针,包含两种指针:普通指针,兼容标准C:内 ...

  6. C51编程中对单片机绝对地址访问的两种方法

    在进行8051单片机应用系统程序设计时,编程都往往少不了要直接操作系统的各个存储器地址空间.C51程序经过编译之后产生的目标代码具有浮动地址,其绝对地址必须经过BL51连接定位后才能确定.为了能够在C ...

  7. C# Struct结构体

    C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法成员. 结构和类的区别: 1.结构是值类型,它在栈中分配空间:而类是引用类型,它在堆中分配空间,栈中保存的只是引用 ...

  8. UVA 712-S-Trees(满二叉树的简单查询)

    题意:给一棵满二叉树,叶子节点赋予权值,0或者1,对于每个查询输出叶子节点的权值,每个查询0代表往左走,1代表往右走,这题坑的地方是层的访问顺序,如第二组测试,由上到下依次是x3,x1,x2,假如给一 ...

  9. SSR分子标记

    参考: SSR标记 分子标记开发与筛选之SSR SSR 分子标记开发策略及评价 SSR分子标记在牡丹亲缘关系研究中的应用与研究进展 SSR(Simple Sequence Repeats)标记是近年来 ...

  10. tomcat建立虚拟主机

    WEB浏览器与WEBserver建立连接后,除了将请求URL中的资源路径发送给WEBserver外,还会将URL中的主机名部分作为HTTP请求消息的Host头发送给WEBserver.比如,在浏览器地 ...