Решение проблемы в MySQL — ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

На вновь установленном сервере с Oracle MySQL 5.7.21 при создании пользователя может возникнуть ошибка ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Давайте быстро разберемся откуда она появилась и как её устранить.

Исходные данные: Oracle MySQL 5.7.21;
Задача: Разрешить проблему с ошибкой ERROR 1819 (HY000): Your password does not satisfy the current policy requirements;

Корень проблемы кроется в активированном по умолчанию плагине validate_password которому не нравятся даже такого рода пароли ‘ei7veeChu4bo’, что довольно странно, ведь пароль достаточно стойкий.

Посмотрим активирован ли плагин у нас:

# mysql -u root -p
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'validate%';
+-------------------+---------------+
| PLUGIN_NAME       | PLUGIN_STATUS |
+-------------------+---------------+
| validate_password | ACTIVE        |
+-------------------+---------------+
1 row in set (0.00 sec)

Как мы видим, плагин активирован. Посмотрим на настройки плагина:

mysql> SHOW GLOBAL 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.00 sec)

Что же MySQL не понравилось в пароле вида ‘ei7veeChu4bo’ ?
А не понравилось то, что в соответствии с настройкой validate_password_special_char_count в пароле должен был указан хотя бы один специальный символ, например восклицательный знак (!).

Самым правильным решением будет конечно соблюдение установленных правил при генерации пароля, но если хочется немного их подправить, то сделаем:

mysql> SET GLOBAL validate_password_special_char_count = 0;
Query OK, 0 rows affected (0.00 sec)

Теперь при создании пользователя с паролем ‘ei7veeChu4bo’ проблем возникнуть не должно.
Пробуем:

mysql> CREATE USER 'test1'@'localhost' IDENTIFIED BY 'ei7veeChu4bo';
Query OK, 0 rows affected (0.00 sec)

Если Вас устраивает такая политика, то не забудьте добавить в /etc/my.cnf в секцию [mysqld] настройку validate_password_special_char_count=0

[mysqld]
validate_password_special_char_count=0

Если Вы хотите, чтобы никто не смог выгрузить плагин validate_password, то в /etc/my.cnf в секцию [mysqld] нужно добавить настройку validate-password=FORCE_PLUS_PERMANENT

[mysqld]
validate-password=FORCE_PLUS_PERMANENT

Если Вы хотите отключить плагин на совсем, то выполните:

mysql> UNINSTALL PLUGIN validate_password;

Для повторной активации плагина выполните:

mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';

На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.


Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

21 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Baha
Baha
5 лет назад

Спасибо помогло!

Евгений
Евгений
5 лет назад

Спасибо.

Анонимно
Анонимно
5 лет назад

Thanks a lot!

Анонимно
Анонимно
5 лет назад

Респект

Lenochka
Lenochka
5 лет назад

Спасибо большое! Выручили!

Айнур
Айнур
5 лет назад

спасибо!

VANQ
VANQ
5 лет назад

Спасибо за информацию!

Khabib`
Khabib`
5 лет назад

спасибо огромное

Boris
Boris
5 лет назад

Вы вкурсе, что вы крутой чувак вообще?

Роман
4 лет назад

вау спасибо админу успехов тебе

VooVoo
VooVoo
4 лет назад

Вот супер, текста на страницу, а все что надо есть!
Спасибо.

Арман
Арман
4 лет назад

НЕ ПОМОГЛО(((

Штефан
4 лет назад

Спасибо большое, Михаил! С Вашей помощью решил проблему! Удачи!

Uzbek
Uzbek
4 лет назад

Спасибо чувак, помогло, дай бог тебе здоровье

Светлана
Светлана
4 лет назад

Хочу пароль поставить два знака, не даёт, ставит в любом случае 3. Пришлось UNINSTALL . Ваша статья самая понятная на эту тему, спасибо. ))

Виталий
Виталий
3 лет назад

Странные дела.
Команда : SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE ‘validate%’;
Выдает Empty set.
А SHOW GLOBAL VARIABLES LIKE ‘validate_password%’;
выдает таблицу со значениями

alex
alex
2 лет назад

Большое-еее спасибо!

Alex
Alex
1 год назад

Спасибо огромное! Долго мучился с данной ошибкой mySQL…

21
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x