mysql5.7密码策略说明

发布时间 2023-06-17 21:11:30作者: 我的城市没有海

一、mysql5.7在创建用户设置密码时提示“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements”

create user 'tom'@localhost identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

 二、这是由于MySQL5.7版本增加了密码强度验证插件validata_password,相关参数设置的较为严格。使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足者会报错。受影响的语句和函数有:create user,grant,set password,password(),old password。

解决方法:

查看MySQL当前的密码策略:

SHOW VARIABLES LIKE 'validate_password%';

 

参数说明:

是否使用该插件(及强制/永久强制使用):ON/OFF/FORCE/FORCE_FLUS_PERMANENT
validate_password_check_user_name
插件用于验证密码强度的字典文件路径 validate_password_dictionary_file
密码最小长度 validate_password_length
密码至少要包含的小写字母个数和大写字母个数 validate_password_mixed_case_count
密码至少要包含的数字个数 validate_password_number_count
密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG validate_password_policy
密码至少要包含的特殊字符数 validate_password_special_char_count

  0/LOW:只检查长度
  1/MEDIUM:检查长度、数字、大小写、特殊字符
  2/STRONG :检查长度、数字、大小写、特殊字符字典文件

 

修改MySQL密码策略

修改密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可
set global validate_password_policy=LOW
设置密码的长度
set global validate_password_length=6;

 

之后修改密码

alter user tom@local identified by '123456';