按照网络上的教程在阿里云服务器安装完MySQL之后,
在更改MySQL初始登陆密码时候出现了以下这种情况:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
通过查阅资料,发现主要是因为设置密码过于简单, 密码的长度或者大小写不符合Mysql的密码校验规则,完整的MySQL默认密码校验规则如下所示:
mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| 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 |
+--------------------------------------+--------+
7 rows in set (0.00 sec)
MySQL 默认的密码校验规则是:
validate_password_length | 8 密码长度为8
validate_password_policy | MEDIUM 密码校验等级为MEDIUM
密码校验的具体规则是与validate_password_policy的值有关 可以看MySQL官网关于validate_password.policy的解释
所以根据提示:设置初始密码: 长度必须满足为8,包含数字,大小写,及特殊字符
我们也可以修改MySQL的密码校验规则来设置更加简单的密码,如1234, 设置密码校验策略为LOW:
密码的长度通过修改validate_password_length的变量的值进行设置
mysql> set global validate_password_length = 4;
Query OK, 0 rows affected (0.00 sec)
密码的校验规则通过修改validate_password_policy的变量的值进行设置
mysql> set global validate_password_policy = LOW;
Query OK, 0 rows affected (0.00 sec)