MySQL 5.7 密碼安全策略簡介

feelpurple發表於2016-03-23
檢視現有的密碼策略

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)

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

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

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

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

validate_password_number_count+ validate_password_special_char_count+ (2 * validate_password_mixed_case_count)

validate_password_dictionary_file引數是指定密碼驗證的字典檔案路徑。

validate_password_policy這個引數可以設為0、1、2,分別代表從低到高的密碼強度,此引數的預設值為1,如果想將密碼強度改若,則更改此引數為0。

建立使用者時報錯:

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)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2062622/,如需轉載,請註明出處,否則將追究法律責任。

相關文章