ZaLinux.ru

Как исправить ошибку MySQL «ERROR 1819 (HY000):» в Linux

При создании пользователя MySQL с относительно слабым паролем вы можете столкнуться с ошибкой «MySQL ERROR 1819 (HY000): Your password does not satisfy the current policy requirements» (MySQL ERROR 1819 (HY000): ваш пароль не соответствует текущим требованиям политики). Технически это не ошибка, а уведомление о том, что вы используете пароль, не соответствующий рекомендованным требованиям политики паролей.

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

Например, я столкнулся с ошибкой при создании пользователя, как показано

create user 'mial'@'localhost' IDENTIFIED BY 'mypassword';

Совершенно очевидно, что пароль очень слабый и может представлять угрозу безопасности.

Как исправить ошибку MySQL ERROR 1819 (HY000): в Linux

База данных MySQL поставляется с подключаемым модулем validate_password, который при включении применяет политику проверки пароля. Плагин применяет 3 уровня политики проверки пароля.

  • LOW (НИЗКИЙ): позволяет пользователям устанавливать пароль из 8 или менее символов.
  • MEDIUM (СРЕДНИЙ): позволяет пользователям устанавливать пароль из 8 или менее символов со смешанными регистрами и специальными символами.
  • STRONG (СИЛЬНЫЙ): позволяет пользователям устанавливать пароль, который имеет все атрибуты пароля среднего уровня с включением проверки по файлу словаря.

По умолчанию для политики паролей установлено значение MEDIUM (СРЕДНИЙ). Вы можете подтвердить уровень политики паролей, выполнив команду:

SHOW VARIABLES LIKE 'validate_password%';

Для выполнения этой команды войдите в mysql (чтобы появилось приглашение командной строки «mysql>»). Это относится и ко всем последующим командам.

Если вы запустите команду и получите пустой набор выходных данных, то плагин ещё не включён.

Чтобы включить плагин validate_password, выполните следующие команды.

select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
install plugin validate_password soname 'validate_password.so';

Чтобы убедиться, что плагин активирован, выполните команду.

select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';

Вы должны получить результат, показанный ниже:

Чтобы решить эту проблему, вам необходимо установить политику проверки пароля на самый низкий уровень. Я знаю, что это звучит нелогично, поскольку это создаёт возможность для установки слабых паролей, которые в конечном итоге могут привести к взлому вашей базы данных хакерами.

Однако, если вы всё ещё настаиваете на своём, вот что вы можете сделать.

Как изменить политику проверки пароля MySQL

Чтобы устранить ошибку MySQL ERROR 1819 (HY000), установите более низкую политику проверки пароля, как показано далее. Для этого выполните вход в mysql и запустите одну из следующих команд:

mysql> SET GLOBAL validate_password_policy=LOW;
mysql> SET GLOBAL validate_password_policy=0;

После этого вы можете подтвердить уровень политики проверки пароля.

SHOW VARIABLES LIKE 'validate_password%';

Теперь вы можете продолжить и назначить относительно слабый пароль по своему желанию.

create user 'mial'@'localhost' IDENTIFIED BY 'mypassword';

Чтобы вернуться к уровню политики паролей «СРЕДНИЙ», просто вызовите команду:

SET GLOBAL validate_password_policy=MEDIUM;

Заключение

Лично я бы не рекомендовал устанавливать политику паролей более низкого уровня по понятным причинам. Будь то обычный пользователь или пользователь базы данных, рекомендуется всегда устанавливать надёжный пароль MySQL, состоящий более чем из 8 символов, включая прописные, строчные, числовые и специальные символы.

Это руководство предназначено для тех, кто хочет знать, как справляться с такой ошибкой, в противном случае рекомендуется всегда устанавливать надёжный пароль.

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *