在某些时候或者某些项目要求,对于数据库创建的用户密码策略是有要求的,经过网上查找的资料很多都无法直接使用,比如直接执行下面的sql会提示变量是不存在的
set global validate_password.policy=1;
SET GLOBAL validate_password_length=5;
原因是因为没有安装密码验证插件,这里将完整的步骤描述一下。主要步骤就是先安装插件,然后就可以修改密码验证的变量了
1.安装密码验证插件
1.1登录数据库
切换到Mysql安装目录bin目录下,输入命令mysql -h localhost -uroot -p mysql,然后输入密码登录数据库
1.2查看数据库插件地址
登录后输入命令show variables like 'plugin_dir';查看数据库插件的安装地址
1.3切换到插件的目录去查找密码验证插件(插件一般都是内置好的)
到目录后找到validate_password文件,linux一般是以.so为后缀,windows一般是.dll为后缀,具体以查询到的为准
1.4安装插件
输入以下命令开始安装插件,validate_password.dll就是插件名称,以上一步查询到的为准
INSTALL PLUGIN validate_password SONAME 'validate_password.dll';
1.5查看插件是否安装成功
输入命令show plugins;查看插件是否已经安装好
1.6查看变量
输入命令 SHOW VARIABLES LIKE 'validate_password%'; 查看变量
2.修改密码验证策略
2.1修改密码验证长度
输入命令 SET GLOBAL validate_password_length=5;
2.2修改密码验证策略
输入命令 set global validate_password.policy=1;
validate_password_policy指的是密码校验规则,取值范围[0,1,2],默认值是1。
0(LOW):只校验长度;
1(MEDIUM):校验长度、大小写和特殊字符;
2(STRONG):校验长度、大小写、特殊字符和dictionary_file
更多参数说明参考:https://dev.mysql.com/doc/refman/8.0/en/validate-password-options-variables.html