mysql安装密码校验插件validate_password(等
用户登录数据库时,采用用户名、口令的方式进行身份鉴别,为防止密码过于简单遭到恶意破解问题,MySQL数据库服务需要启用安全的密码策略(比如密码需要满足一定的长度,必须包含字母、必须包含特殊字符等);MySQL用户进行密码设置需要满足已启用的密码策略。
密码校验插件
MySQL数据库自带密码校验插件,插件(validate_password.dll)位置位于安装目录相对路径(…\lib\plugin)下,如下图:

不清楚MySQL插件库的路径也可通过SQL查询插件库的路径信息。
mysql> SHOW GLOBAL VARIABLES LIKE 'plugin_dir';

插件安装
安装插件
mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.dll';
查看数据库安装的插件
mysql> SELECT * from mysql.plugin ;
执行以上命令,并查看安装的插件信息,下面的为刚才安装的插件。

查看策略配置
mysql> show variables like 'validate_password%';
执行以上SQL可以查看默认的配置参数信息。

部分参数说明
只列出部分主要参数说明,
更详细信息请参看官网:https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html
密码安全策略,默认MEDIUM策略(0 or LOW;1 or MEDIUM;2 or STRONG)
validate_password_policy
设置密码的最小长度,默认值是8
validate_password_length
当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少同时拥有的小写和大写字母的数量,默认是1最小是0;
validate_password_mixed_case_count
当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的数字的个数,默认1最小是0
validate_password_number_count
当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的特殊字符的个数,默认1最小是0
validate_password_special_char_count
修改默认参数
其他参数采用默认参数,只修改密码的最小长度为10个字符长度。至少一个数字、一个大写字母、一个小写字母、一个特殊字符,长度不小于10。
mysql> set global validate_password_check_user_name = on;
mysql> set global validate_password_length=10;

注意:如需重启服务器后不改变,需写入my.cnf文件[mysqld]下
[mysqld]
validate_password.check_user_name =ON
validate_password.length =8
validate_password.mixed_case_count =1
validate_password.number_count =1
validate_password.policy =MEDIUM
validate_password.special_char_count =1
设置密码有效期为180天
default_password_lifetime=180
