注:从MySQL 5.6.6版本起,提供了密码插件(validate_password )用于检查密码强度提高安全性。
查看数据库版本;
命令:
show variables like 'version';
查看是否安装应用validate_password这个插件;
命令:
show variables like 'validate_password%';
为空表示没有安装
安装后可以查出来,就是这样;
参数详解:
validate_password_check_user_name:用户名检测,检测是否重名(不常用)
validate_password.dictionary_file:密码策略文件,策略为STRONG才需要(一般默认为MEDIUM)
validate_password.length:密码最少长度为8
validate_password.mixed_case_count:大小写字符长度,至少1个
validate_password_policy:定义应用的密码策略(MEDIUM)
validate_password_special_char_count:最少符号数量,至少为1个
密码插件提供三种级别的验证标准,由参数validate_password_policy控制:
密码策略详解:
- LOW:只验证密码长度,不得少于8位;
- MEDIUM:除验证长度外,还需要至少满足密码中包含1个数字、1个小写字母、1个大写字母和一个特殊符号;
- STRONG:除以上规则外,新设密码不能包含密码文件中的字词;
安装该插件方法
首先确保该插件的so文件在插件目录中,通常在mysql安装目录/lib/plugin下。
1.方法一:进入数据库中安装(windows下该插件名为validate_password.dll)
install plugin validate_password SONAME 'validate_password.so';
2.方法二:写入配置文件,重启MySQL
[mysqld]
plugin-load=validate_password.so
重启mysql
查看所有已安装的插件
命令:show PLUGINS;
验证一下(创建一个弱密码用户)
命令:create user 'xiaoxiao'@'127.0.0.1' identified by '123.com';
报错:
创建符合要求的用户
命令:create user 'xiaogao'@'127.0.0.1' identified by 'GAoFei@@@.123.com';
成功创建:
如果不想用这个插件了可以删除;
删除命令:UNINSTALL PLUGIN validate_password