mysql5.5.62 与5.7.26 的区别

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。官方对于该参数的值说明如下:

policyexplanation
0 or LOWlength
1 or MEDIUM0+numeric;lowercase/uppercase; special characters
2 or STRONG1+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)

本文参考:

Leave a comment

您的邮箱地址不会被公开。 必填项已用 * 标注