mysql5.7和8.0修改密码策略

mysql5.7以上版本对安全策略级别进行了提高。这个的本意是好的,但是像我这种需要对一些特定的库进行特殊分配的,只能用修改安全策略的方案来解决了。

进行密码修改时:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567';

会报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这时候有些文章说5.7版本的可以直接修改密码策略,但是我发现是不行的。

mysql> SHOW VARIABLES LIKE 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解决方案:

先按照官方要求配置一个密码,需要有大小写加数字、长度大于8(也不要使用连续的字母、数字)。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lyh46578+';
Query OK, 0 rows affected (0.00 sec)

然后查看现在才策略。

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      |
+--------------------------------------+--------+

 修改:

set global validate_password_policy=0;  
set global validate_password_length=4; 

这样再去修改简单的密码就行了。当然,这是临时方案,重启后修改又要这样配置。

 

 

修改配置文件方案:

[mysqld]
validate_password_policy=LOW

 重启。

 

你可能感兴趣的:(mysql,项目实战,centos)