环境
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.16 |
+-----------+
报错
创建用户的时候报错
create user 'user1'@'%' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
原因
密码设置的过于简单
解决:
修改密码的验证策略
-- 查看密码的验证策略
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| 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.03 sec)
-- 修改密码的验证策略 MEDIUM(中等)修改为LOW(低)
mysql> set global validate_password.policy = 0;
-- 修改密码的长度
mysql> set global validate_password.length = 4;
-- 再次查看,确认设置已经修改
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 4 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | LOW |
| validate_password.special_char_count | 1 |
+--------------------------------------+-------+
-- 可以创建成功了
mysql> create user 'user1'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
参考
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements