mysql5.7密码策略说明

一、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';

 

posted @ 2023-06-17 21:08  我的城市没有海  阅读(703)  评论(0)    收藏  举报