Your password does not satisfy the current policy requirements.mysql密码不能设为root

今天在CentOS7系统里安装了MySQL8.0.26

重置密码为  root   提示Your password does not satisfy the current policy requirements.

查看密码要求

show variables like 'validate_password%';

根据教程视频里讲的,只改了validate_password.length=4(长度)和validate_password.policy=LOW(验证政策),但是发现将密码改为root 时仍提示Your password does not satisfy the current policy requirements.

set global validate_password.length=4;
set global validate_password.policy=LOW;

 注意:教程里的是validate_password_policy,而我安装的版本是validate_password.policy,第二个下划线是  .

我仔细阅读了一下表中字段含义

validate_password_length  固定密码的总长度;
validate_password_dictionary_file 指定密码验证的文件路径;
validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

然后我把这些字段都改了 

但是还是Your password does not satisfy the current policy requirements.!!!

最后我把validate_password.check_user_name改成OFF,终于成功了

还有一点额外的东西:

MySQL5中开启访问权限(教程中):

grant all on *.* to 'root'@'%' identified by root

 MySQL8中

CREATE USER 'root'@'%' IDENTIFIED BY 'root'; 
grant all privileges on *.* to 'root'@'%' ;
flush privileges;