mysql 5.7密码策略和安装密码校验插件validate_password

当执行sql:SHOW VARIABLES LIKE 'validate_password%';提示empty,说明没有安装密码插件

1、查看当前mysql安装的插件信息

mysql> show plugins;
 
 
2、要使服务器可用,插件库文件必须位于MySQL插件目录中(由plugin_dir系统变量命名的目录)。如果需要,通过在服务器启动时设置plugin_dir的值来配置插件目录位置。
mysql> show variables like 'plugin_dir';
 
 
3、插件库的文件名是validate_password.文件名后缀根据平台的不同而不同(例如.so对于Unix和类Unix系统,.dll对于Windows)。要在服务器启动时加载插件,可以使用--plugin-load-add选项来命名包含它的库文件。使用这种插件加载方法,必须在每次服务器启动时提供该选项:
[mysqld]
plugin-load-add=validate_password.dll
 
#服务器在启动时加载插件,并防止在服务器运行时删除插件。
validate-password=FORCE_PLUS_PERMANENT
 
 
4、修改my.ini之后,重启服务器以使新设置生效。或者,要在运行时注册插件,可以使用以下语句(根据需要调整.so后缀):
mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.dll';
 
5、密码策略

validate_password_policy:密码安全策略,默认MEDIUM策略:0表示只需要满足长度,1表示满足长度+数字+大小写+特殊字符

策略

检查规则

0 or LOW

Length

1 or MEDIUM

Length; numeric, lowercase/uppercase, and special characters

2 or STRONG

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

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要

validate_password_length:密码最少长度 

validate_password_mixed_case_count:大小写字符长度,至少1个

validate_password_number_count :数字至个1个 

validate_password_special_char_count:特殊字符至少1个

所以默认MEDIUM即可(长度=2*大小写+特殊字符+数字),设置语句:

set global validate_password_mixed_case_count=5;设置大小写至少5个

set global validate_password_special_char_count=3;设置特殊字符至少3个

表示设置密码长度至少14位=至少10位大小写+至少3位特殊字符+至少1位数字

 

 

6、设置好密码策略之后,开始新增账户

flush privileges;
create user 'soft'@'localhost' identified by 'QWErtQWErt!@#3';
flush privileges;

 

 

posted on 2020-07-29 10:04  金龟子大战猕猴桃  阅读(5038)  评论(0编辑  收藏  举报