1,密码验证插件安装

要使服务器可以使用,插件库文件必须位于MySQL插件目录(plugin_dir系统变量指定的目录)中。插件库文件基本名是 validate_password.so

show variables like '%plugin%';

在运行时注册插件,请使用此语句

INSTALL PLUGIN validate_password SONAME 'validate_password.so';

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

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

10:47:11(none)> SELECT PLUGIN_NAME, PLUGIN_STATUS

FROM INFORMATION_SCHEMA.PLUGINS

WHERE PLUGIN_NAME LIKE 'validate%';

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

| PLUGIN_NAME       | PLUGIN_STATUS |

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

| validate_password | ACTIVE        |

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

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

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

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

10:47:12(none)> select @@validate_password_policy;

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

| @@validate_password_policy |

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

| MEDIUM                     |

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

1 row in set (0.00 sec)

10:49:07(none)> SHOW VARIABLES LIKE 'validate_password%';

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

| Variable_name                        | Value  |

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

| validate_password_check_user_name    | OFF    |

| validate_password_dictionary_file    |        |

| 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      |

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

7 rows in set (0.04 sec)

2)参数解释

validate_password_length

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

validate_password_mixed_case_count

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

validate_password_number_count

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

validate_password_policy

密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

validate_password_special_char_count

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

3)改变密码策略,修改简单密码

set global validate_password_policy=0;

set global validate_password_mixed_case_count=0;

set global validate_password_number_count=0;

set global validate_password_special_char_count=0;

set global validate_password_length=4;

修改简单密码:

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

郑州人流医院:https://yyk.familydoctor.com.cn/21521/