🛠️ Исправление ошибки MySQL ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Мануал
Как вы могли заметить, вам будет предложено включить компонент «VALIDATE PASSWORD» при настройке пароля пользователя root в MySQL.
Если этот параметр включен, компонент Validate Password автоматически проверяет надежность данного пароля и заставляет пользователей устанавливать только те пароли, которые являются достаточно безопасными.
Если вы введете слабый пароль, вы увидите ошибку типа “ERROR 1819 (HY000): Your password does not satisfy the current policy requirements.”
Технически говоря, это на самом деле не ошибка.
Это встроенный механизм безопасности, который уведомляет пользователей о предоставлении только надежных паролей в соответствии с требованиями текущей политики.
Позвольте мне показать вам пример.
Я захожу на сервер MySQL как пользователь root с помощью команды:
$ mysql -u root -p

Создаю  пользователя базы данных со слабым паролем:

mysql> create user 'itsecforu'@'localhost' identified by 'mypassword';

И я сталкиваюсь со следующей ошибкой:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Компоненты Validate Password не позволяют мне создать пользователя со слабым паролем (т. е. mypassword в этом случае).
Вы будете получать эту ошибку до тех пор, пока пароль не будет соответствовать требованиям текущей политики паролей или вы не отключите компонент проверки.
Давайте рассмотрим, как это сделать.

Фиксим ошибку

Существует три уровня политики проверки пароля, которые применяются при включении Validate Password:

  • LOW Length >= 8 символов.
  • MEDIUM Length >= 8,  числа, смешанный регистр и специальные символы.
  • STRONG Length >= 8, числа, смешанный регистр и специальные символы и файл словаря.

На основании этих уровней политики вам необходимо установить соответствующий пароль.

Например, если для политики проверки пароля установлено значение Medium необходимо установить пароль, который должен содержать не менее 8 символов, включая цифры, строчные, прописные и специальные символы.

Сначала нам нужно найти текущий уровень политики паролей.

Для этого выполните следующую команду, чтобы показать системные переменные плагина проверки пароля:

mysql> SHOW VARIABLES LIKE 'validate_password%';

Вывод:

+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| 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.09 sec)

Как видите, в настоящее время установленный уровень пароля – MEDIUM.

Таким образом, наш пароль должен быть длиной 8 символов с цифрами, смешанным регистром и специальными символами.

Я собираюсь установить этот пароль – Password123#@! используя команду:

mysql> create user 'itsecforu'@'localhost' identified by 'Password123#@!';
Query OK, 0 rows affected (0.36 sec)

Как видите теперь ошибка не появляется.

 

Добавить комментарий