Your password does not satisfy the current policy requirements 2016-11-28 22:21
When you see "Your password does not satisfy the current policy requirements" error message that means your password is not safe. MySQL use validate_password
plugin to test passwords and improve security. There are 3 levels in validate_password_policy
. You can check the value of it by using following command.
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.02 sec)
Three levels of password checking
Policy | Tests Performed |
---|---|
0 or LOW | tests password length only. Passwords must be at least 8 characters long. |
1 or MEDIUM | adds the conditions that passwords must contain at least 1 numeric character, 1 lowercase character, 1 uppercase character, and 1 special (nonalphanumeric) character. |
2 or STRONG | adds the condition that password substrings of length 4 or longer must not match words in the dictionary file, if one has been specified. |
You can use following command to change the level of password checking.
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
Remove validate_password
plugin (NOT RECOMMEND)
There are many plugins in MySQL use following command to show all plugins.
mysql> SHOW PLUGINS\G
*************************** 1. row ***************************
Name: binlog
Status: ACTIVE
Type: STORAGE ENGINE
Library: NULL
License: GPL
*************************** 2. row ***************************
Name: mysql_native_password
Status: ACTIVE
Type: AUTHENTICATION
Library: NULL
License: GPL
*************************** 3. row ***************************
Name: sha256_password
Status: ACTIVE
Type: AUTHENTICATION
Library: NULL
License: GPL
...
...
...
*************************** 45. row ***************************
Name: validate_password
Status: ACTIVE
Type: VALIDATE PASSWORD
Library: validate_password.so
License: GPL
45 rows in set (0.00 sec)
If you install MySQL just for testing. You can remove validate_password
plugin by using following command.
mysql> uninstall plugin validate_password;
Query OK, 0 rows affected (0.02 sec)
UPDATE for MySQL 8.0 use UNINSTALL COMPONENT 'file://component_validate_password';
to remove this plugin.