这个问题是在新建用户设置密码的时候遇见的问题,翻译过来就是设置的密码不符合要求,需要设置一个符合要求的密码,但是也是可以自行更改的。
问题:
创建用户:
CREATE USER 'ambari'@'xxx.xxx.xx.xxx' IDENTIFIED BY '123456';
遇到报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决办法:
1、查看MySQL数据的初始策略
SHOW VARIABLES LIKE ‘validate_password%’;
可以将密码强度等级下调:
set global validate_password_policy=LOW;
也可以将密码长度更改
set global validate_password_length=6;
这样我们可以完成自定义密码的需求。
2、随后我们再重新创建用户设置密码
CREATE USER 'ambari'@'xxx.xxx.xx.xxx' IDENTIFIED BY '123456';
3、将数据库表的权限授予用户
GRANT ALL PRIVILEGES ON ambari.* TO 'xxx'@'xx.xx.xx.xx';
4、FLUSH PRIVILEGES;
关于 mysql 密码策略相关参数;
1、validate_password_length 固定密码的总长度;
2、validate_password_dictionary_file 指定密码验证的文件路径;
3、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;