mysqlパスワード強度規則設定
4045 ワード
質問:
【原因】
MySQL 5.6.6以降、パスワード強度検証プラグインvalidateが追加されました.passwordは、関連パラメータの設定が厳格です.このプラグインを使用すると、設定されたパスワードが現在の設定の強度規則に合致しているかどうかを確認し、満たさない場合は設定を拒否します.影響する文と関数はcreate user,grant,set password,password()old passwordです.
【解決】
1)mysqlグローバルパラメータ構成の表示
この問題は実はmysqlのvalidateとpassword_policyの値が関係しています.msyqlパスワードに関するいくつかのグローバルパラメータを確認します.
[sql] view plain
copy
mysql> select @@validate_password_policy;
+----------------------------+
| @@validate_password_policy |
+----------------------------+
| MEDIUM |
+----------------------------+
1 row in set (0.00 sec)
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.08 sec)
2)パラメータ解釈validate_password_dictionary_fileプラグインは、パスワードの強度を検証するための辞書ファイルパスです.validate_password_lengthパスワードの最小長、パラメータのデフォルトは8で、最小値の制限があります.最小値はvalidate_です.password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)validate_password_mixed_case_countパスワードには、少なくとも小文字の個数と大文字の個数が含まれます.validate_password_number_countパスワードには少なくとも含まなければならない数字の数.validate_password_policyパスワード強度チェックレベル、0/LOW、1/MEDIUM、2/STRONG.Policy Tests Performed 0 or LOW Length 1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters 2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary fileのデフォルトは1、すなわちMEDIUMなので、最初に設定したパスワードは長さに一致し、数字、小文字、大文字、特殊文字を含む必要があります.validate_password_special_char_countパスワードに少なくとも含まれる特殊文字数.
3)mysqlパラメータ構成の変更
[sql] view plain
copy
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.05 sec)
mysql>
mysql>
mysql> set global validate_password_mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_number_count=3;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_special_char_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=3;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file | |
| validate_password_length | 3 |
| validate_password_mixed_case_count | 0 |
| validate_password_number_count | 3 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 0 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)
4)簡単なパスワードを変更する:
[sql] view plain
copy
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');
Query OK, 0 rows affected, 1 warning (0.00 sec)
OK、完璧に解決!
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
ERROR 1819 (HY000): Your password does not satisfy the current policy requiremen
【原因】
MySQL 5.6.6以降、パスワード強度検証プラグインvalidateが追加されました.passwordは、関連パラメータの設定が厳格です.このプラグインを使用すると、設定されたパスワードが現在の設定の強度規則に合致しているかどうかを確認し、満たさない場合は設定を拒否します.影響する文と関数はcreate user,grant,set password,password()old passwordです.
【解決】
1)mysqlグローバルパラメータ構成の表示
この問題は実はmysqlのvalidateとpassword_policyの値が関係しています.msyqlパスワードに関するいくつかのグローバルパラメータを確認します.
[sql] view plain
copy
mysql> select @@validate_password_policy;
+----------------------------+
| @@validate_password_policy |
+----------------------------+
| MEDIUM |
+----------------------------+
1 row in set (0.00 sec)
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.08 sec)
2)パラメータ解釈validate_password_dictionary_fileプラグインは、パスワードの強度を検証するための辞書ファイルパスです.validate_password_lengthパスワードの最小長、パラメータのデフォルトは8で、最小値の制限があります.最小値はvalidate_です.password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)validate_password_mixed_case_countパスワードには、少なくとも小文字の個数と大文字の個数が含まれます.validate_password_number_countパスワードには少なくとも含まなければならない数字の数.validate_password_policyパスワード強度チェックレベル、0/LOW、1/MEDIUM、2/STRONG.Policy Tests Performed 0 or LOW Length 1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters 2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary fileのデフォルトは1、すなわちMEDIUMなので、最初に設定したパスワードは長さに一致し、数字、小文字、大文字、特殊文字を含む必要があります.validate_password_special_char_countパスワードに少なくとも含まれる特殊文字数.
3)mysqlパラメータ構成の変更
[sql] view plain
copy
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.05 sec)
mysql>
mysql>
mysql> set global validate_password_mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_number_count=3;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_special_char_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=3;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file | |
| validate_password_length | 3 |
| validate_password_mixed_case_count | 0 |
| validate_password_number_count | 3 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 0 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)
4)簡単なパスワードを変更する:
[sql] view plain
copy
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');
Query OK, 0 rows affected, 1 warning (0.00 sec)
OK、完璧に解決!