mysql5.7 密碼策略

查看現有的密碼策略mysql

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| 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 |
+--------------------------------------+--------+
6 rows in set (0.00 sec)sql

validate_password_number_count參數是密碼中至少含有的數字個數,當密碼策略是MEDIUM或以上時生效。ui

validate_password_special_char_count參數是密碼中非英文數字等特殊字符的個數,當密碼策略是MEDIUM或以上時生效。ci

validate_password_mixed_case_count參數是密碼中英文字符大小寫的個數,當密碼策略是MEDIUM或以上時生效。rem

validate_password_length參數是密碼的長度,這個參數由下面的公式生成io

validate_password_number_count+ validate_password_special_char_count+ (2 * validate_password_mixed_case_count)test

validate_password_dictionary_file參數是指定密碼驗證的字典文件路徑。require

validate_password_policy這個參數能夠設爲0、一、2,分別表明從低到高的密碼強度,此參數的默認值爲1,若是想將密碼強度改若,則更改此參數爲0。date

建立用戶時報錯:file

mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

報錯緣由:
指定的密碼沒有符合現有的密碼策略。

解決方法:
能夠按照現有策略設置密碼,也能夠更改密碼策略。

① 按照現有密碼策略指定密碼

mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY 'System#2016';
Query OK, 0 rows affected (0.16 sec)

② 更改密碼策略,下降密碼的驗證標準

--更改密碼策略爲LOW
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

--更改密碼長度
mysql> set global validate_password_length=0;
Query OK, 0 rows affected (0.00 sec)

--密碼最小長度爲4
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| 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 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)

mysql> drop user 'test'@localhost;
Query OK, 0 rows affected (0.07 sec)

--建立長度爲3的密碼報錯
mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY 'tes';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

--建立長度爲4的密碼,4爲現有密碼策略的最小長度mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';Query OK, 0 rows affected (0.01 sec)

相關文章
相關標籤/搜索