1.密码验证插件安装

要使服务器可以使用,插件库文件必须位于MySQL插件目录(plugin_dir系统变量指定的目录)中。如有必要,请设置plugin_dir服务器启动时的值, 以告知服务器插件目录位置。

插件库文件基本名称是 validate_password。文件名后缀因平台.so而异(例如,对于Unix和类Unix系统,.dll对于Windows)。

要在服务器启动时加载插件,请使用该 --plugin-load-add选项命名包含它的库文件。使用此插件加载方法,每次服务器启动时都必须提供该选项。例如,将这些行放在服务器my.cnf文件中(.so根据需要调整平台的 后缀):

[mysqld]
plugin-load-add=validate_password.so

修改后my.cnf,重新启动服务器以使新设置生效。

或者,要在运行时注册插件,请使用此语句(.so根据需要调整后缀):

INSTALL PLUGIN validate_password SONAME 'validate_password.so';

INSTALL PLUGIN加载插件,并将其注册到mysql.plugins 系统表中,以便为每个后续的正常服务器启动加载插件。

要验证插件安装,请检查 INFORMATION_SCHEMA.PLUGINS表或使用该SHOW PLUGINS语句

    mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME LIKE 'validate%';
+-------------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+-------------------+---------------+
| validate_password | ACTIVE |
+-------------------+---------------+

如果插件无法初始化,请检查服务器错误日志以获取诊断消息。

如果插件先前已注册 INSTALL PLUGIN或已加载 --plugin-load-add,您可以使用--validate-password服务器启动时的选项来控制插件激活。例如,要在启动时加载插件并防止在运行时删除它,请使用以下选项:

[mysqld]
plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT

1) 先查看mysql全局参数配置

该问题其实与mysql的validate_password_policy的值有关。

查看一下msyql密码相关的几个全局参数:

    mysql> select @@validate_password_policy;

    +----------------------------+

    | @@validate_password_policy |

    +----------------------------+

    | MEDIUM |

    +----------------------------+

     row in set (0.00 sec)

    mysql> SHOW VARIABLES LIKE 'validate_password%';

    +--------------------------------------+--------+

    | Variable_name | Value |

    +--------------------------------------+--------+

    | validate_password_dictionary_file | |

    | validate_password_length |  |

    | validate_password_mixed_case_count |  |

    | validate_password_number_count |  |

    | validate_password_policy | MEDIUM |

    | validate_password_special_char_count |  |

    +--------------------------------------+--------+

     rows in set (0.08 sec)

2)参数解释

    validate_password_dictionary_file

    插件用于验证密码强度的字典文件路径。

    validate_password_length

    密码最小长度,参数默认为8,它有最小值的限制,最小值为:validate_password_number_count + validate_password_special_char_count + ( * validate_password_mixed_case_count)

    validate_password_mixed_case_count

    密码至少要包含的小写字母个数和大写字母个数。

    validate_password_number_count

    密码至少要包含的数字个数。

    validate_password_policy

    密码强度检查等级,/LOW、/MEDIUM、/STRONG。有以下取值:

    Policy Tests Performed

     or LOW Length

     or MEDIUM Length; numeric, lowercase/uppercase, and special characters

     or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

    默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

    validate_password_special_char_count

    密码至少要包含的特殊字符数。

3)修改mysql参数配置
改变密码策略,修改简单密码

    mysql> set global validate_password_policy=;

    Query OK,  rows affected (0.05 sec)
mysql> set global validate_password_mixed_case_count=; Query OK, rows affected (0.00 sec)
mysql> set global validate_password_number_count=; Query OK, rows affected (0.00 sec)
mysql> set global validate_password_special_char_count=; Query OK, rows affected (0.00 sec)
mysql> set global validate_password_length=; Query OK, rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password_dictionary_file | | | validate_password_length | | | validate_password_mixed_case_count | | | validate_password_number_count | | | validate_password_policy | LOW | | validate_password_special_char_count | | +--------------------------------------+-------+ rows in set (0.00 sec)

4)修改简单密码:

    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');

    Query OK,  rows affected,  warning (0.00 sec)

转自

---------------------
作者:背锅浩
来源:CSDN
原文:https://blog.csdn.net/weixin_39845407/article/details/81736882
版权声明:本文为博主原创文章,转载请附上博文链接!

以下转自

MySQL如何启用密码强度审计_ITPUB博客 http://blog.itpub.net/15498/viewspace-2135382/

执行以下命令安装密码强度审计插件:

mysql>INSTALL PLUGIN validate_password SONAME 'validate_password.so';

设置最强密码策略:
mysql> set global validate_password_policy=strong;
Query OK, 0 rows affected (0.00 sec)

或者通过配置文件my.cnf添加部分密码强度相关参数:

[mysqld]

plugin-load=validate_password.so
validate_password_policy=
validate-password=FORCE_PLUS_PERMANENT 然后执行show plugins命令查看是否启用成功:
mysql> show plugins;
+----------------------------+----------+--------------------+----------------------+---------+
| Name | Status | Type | Library | License |
+----------------------------+----------+--------------------+----------------------+---------+
| validate_password | ACTIVE | VALIDATE PASSWORD | validate_password.so | GPL |
+----------------------------+----------+--------------------+----------------------+---------+

设置后的密码强度审计相关参数如下:

mysql> show global variables like 'validate%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_dictionary_file | |
| validate_password_length | |
| validate_password_mixed_case_count | |
| validate_password_number_count | |
| validate_password_policy | STRONG |
| validate_password_special_char_count | |
+--------------------------------------+--------+
rows in set (0.00 sec)

--修改密码,不符合规则会报错

mysql> SET PASSWORD = PASSWORD('');
ERROR (HY000): Your password does not satisfy the current policy requirements mysql> SET PASSWORD = PASSWORD('aisino123!');
ERROR (HY000): Your password does not satisfy the current policy requirements

修改成功,大小写加数字和特殊字符最少1个,密码长度最少8位:

mysql> SET PASSWORD = PASSWORD('Aisino123!');  --大小写字码加数字和特殊字符,最少8位
Query OK, rows affected (0.00 sec)

相关参数解释如下:

validate_password_policy 这个参数用于控制validate_password的验证策略 -->low  -->MEDIUM  -->strong。
validate_password_length密码长度的最小值(这个值最小要是4)。
validate_password_number_count 密码中数字的最小个数。
validate_password_mixed_case_count大小写的最小个数。
validate_password_special_char_count 特殊字符的最小个数。
validate_password_dictionary_file 字典文件(插件用于验证密码强度的字典文件路径)

MySQL如何启用密码强度审计【转】的更多相关文章

  1. mysql 5.6密码强度插件使用

    在mysql 5.6对密码的强度进行了加强,推出了validate_password 插件.支持密码的强度要求. 此插件要求版本:5.6.6 以上版本安装方式: 1.安装插件:(默认安装了插件后,强度 ...

  2. MySQL密码强度验证修改

    MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格. 影响的语句和函数有:create user,grant,set password,pas ...

  3. Mysql 5.7 密码策略 ERROR 1819 (HY000)

    Mysql 5.7 默认对用户密码有密码强度要求,如果指定弱密码,会提示如下: ERROR (HY000): Your password does not satisfy the current po ...

  4. MYSQL5.7修改密码强度策略

    ---恢复内容开始--- 在MySQL5.6.6之后,ORACLE更新了mysql密码强度必须要使用大小写数字符号来设置密码,但是有时候这样还是很不方便的.所以记录一篇如何修改mysql密码强度的博文 ...

  5. win7下安装mysql后修改密码

    mysql的安装教程网上很多,此处不过多介绍,个人觉得下面这篇教程是比较好的,一步到位.MySQL 5.7.9 ZIP 免安装版本配置过程_百度经验  http://jingyan.baidu.com ...

  6. mysql忘记root密码怎么办?

    有时候忘记mysql的root密码了,怎么办? 这个时候,我们可以修改my.cnf,添加以不检查权限的方式启动,再修改root,最后重启mysql数据库. (1)service mysql stop ...

  7. 忘记Mysql的root密码怎么办?

    有时候忘掉了mysql的root密码,这种情况下,如何重置root的密码呢? 找到并编辑mysql的my.ini配置文件,在mysqld节点中添加上skip-grant-table. 如下: [mys ...

  8. mysql忘记root密码解决办法

    最近项目中的数据库我放在了服务器上,但是今天突然不能用了,进入服务器查看,果然是数据库不能进去了,所以今天来分享一个mysql忘记root密码的解决方案: 1.让mysql不载入权限表,命令:mysq ...

  9. Linux下忘记MySQL的root密码的解决方法

    恢复方法之一 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也 ...

随机推荐

  1. MapReduce框架原理-MapTask工作机制

    MapReduce框架原理-MapTask工作机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. maptask的并行度决定map阶段的任务处理并发度,进而影响到整个job的处理速 ...

  2. java类的编译、加载和执行

    一.java类的编译流程 这里主要讲的是从java文件到class文件 下图是java类编译的详细步骤: 1.词法分析:将java源代码的字符流转变为标记(Token)的集合,Token是编译过程中的 ...

  3. Java Hibernate中的悲观锁和乐观锁的实现

    锁(locking) 业务逻辑的实现过程中,往往需要保证数据访问的排他性.如在金融系统的日终结算 处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种, ...

  4. spring整合curator实现分布式锁

    为什么要有分布式锁? 比如说,我们要下单,分为两个操作,下单成功(订单服务),扣减库存(商品服务).如果没有锁的话,同时两个请求进来.先检查有没有库存,一看都有,然后下订单,减库存.这时候肯定会出现错 ...

  5. python第一次周末大作业

    #############################作业############################# 1. 三次登录验证 完成用户登录验证 要求: 1. 系统自动生成4位随机数. ...

  6. Dubbo服务端结合maven打jar包

    <build>        <finalName>odao-weixin-user</finalName>        <resources>   ...

  7. Linux记录-sysctl.conf优化方案

    Sysctl是一个允许您改变正在运行中的Linux系统的接口.它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能.用sysctl可以读取设置超过五百 ...

  8. Linux 内核源代码根目录

    1.    arch :与体系结构相关的文件 2.    block: 包含块存储设备IO调度算法的实现 3.    cryrto: 密码操作有关 4.    Documention: 内核中各个子系 ...

  9. 【1】【leetcode-79】 单词搜索

    (典型dfs,知道思想写错) 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格.同一个单 ...

  10. ZOJ - 3261 Connections in Galaxy War(并查集删边)

    https://cn.vjudge.net/problem/ZOJ-3261 题意 银河系各大星球之间有不同的能量值, 并且他们之间互相有通道连接起来,可以用来传递信息,这样一旦有星球被怪兽攻击,便可 ...