1. mysql 用户密码的验证不一样
2. mysql5.7 的密码强度控制,是由插件来实现的
Mysql 5.7 默认对用户密码有密码强度要求,如果指定弱密码,会提示如下:
Mysql 5.7 中的密码强度控制,是由插件来实现的,具体是由操作系统上的文件/usr/lib64/mysql/plugin/validate_password.so 来控制(RPM安装,即默认位置)。先来了解下密码策略
2.1 查看默认密码策略
mysql> show variables like 'validate_password_%';
其中,我们看到参数:validate_password_policy (即密码策略)的值是MEDIUM。官方对于该参数的值说明如下:
policy | explanation |
0 or LOW | length |
1 or MEDIUM | 0+numeric;lowercase/uppercase; special characters |
2 or STRONG | 1+validate_password_dictionary_file |
在上面show variables 查看到的参数,除 validate_password_policy 外,其他都是密码策略的各种控制参数。
- Variable_name 说明。
variables 查看到的参数- validate_password_length —> 密码长度,默认8
- validate_password_mixed_case_count —> 大小写字母每种最少多少个,默认开启,至少1个。
- validate_password_number_count —> 包含数字个数,默认 >= 1
- validate_password_special_char_count —> 特殊字符个数,默认 >= 1
- validate_password_dictionary_file —> 密码强度控制字典路径。
2.2 密码强度验证的开启与关闭
2.1 启用
插件对应的库对象文件需在配置选项plugin_dir指定的目录中。
可使用–plugin-load=validate_password.so,在server启动时载入插件,或者将plugin-load=validate_password.so写入配置文件,:
[mysqld]
plugin-load=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
也可以通过如下语句在server运行时载入插件(会注册进mysql.plugins表)
mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';
2.2 关闭
方法1) 关闭密码策略
在/etc/my.cnf
配置文件中增加:
[mysqld]
validate_password=off
然后重启mysql
方法2)更改密码策略
et global validate_password_policy=0; # 修改密码策略为low
set global validate_password_length=0; # 密码长度为设置为0 ,即大于0个字符的密码都可以
方法3)初始化Mysql时不启用插件
mysqld --initialize-insecure --datadir=/var/lib/mysql --basedir=/usr --user=mysql
本文自己修改方法:
mysql> show variables like 'validate_password_%';
首先,修改validate_password_policy参数的值
ysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 8 |
+----------------------------+
1 row in set (0.00 sec)
validate_password_length参数默认为8,它有最小值的限制,最小值为:
validate_password_number_count
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)
本文参考: