MySQL : 数据库密码策略

MySQL数据库密码策略

输入如下命令可以查看数据库的密码实行策略以及规则

 show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+

解释如下:

  1. validate_password.check_user_name 关闭用户名验证,OFF/ON:关闭/开启,默认为OFF,即关闭
  2. validate_password.dictionary_file 指定密码验证的文件路径
  3. validate_password_length 固定密码的总长度

密码最小长度,参数默认为8,它有最小值的限制,最小值为的计算方法为:validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count) ,这就是为什么明明设置了长度为1,但是最后还是长度为4的原因

  1. validate_password_mixed_case_count整个密码中至少要包含大/小写字母的总个数,默认为1个
  2. validate_password_number_count整个密码中至少要包含阿拉伯数字的个数,默认为1个
  3. validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM
    策略说明(三种):
    0/LOW:只检查长度
    1/MEDIUM:检查长度、数字、大小写、特殊字符
    2/STRONG:检查长度、数字、大小写、特殊字符字典文件
  4. validate_password_special_char_count 整个密码中至少要包含特殊字符的个数



修改密码策略

set global <Variable_name> = <Value>;
# 栗子
set global validate_password_policy = 0;

问题

在这里插入图片描述

Solve

  1. 查看用户信息

select host,user,plugin,authentication_string from mysql.user;

MySQL : 数据库密码策略_第1张图片

备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码

  1. 修改用户密码 以及 密码策略
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 更新user为root,host为% 的密码为123456

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 更新user为root,host为localhost 的密码为123456

MySQL : 数据库密码策略_第2张图片

你可能感兴趣的:(DBMS,mysql,数据库,database)