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

by itisgood

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

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

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

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

Ранее мы уже рассматривали настройку паролей:

👥 Как ограничить создание пользователей MySQL с пустым паролем

Например, я столкнулся с ошибкой при создании пользователя, как показано далее:
mysql> create user ‘itisgood’@’localhost’ IDENTIFIED BY ‘mypassword’;
Совершенно очевидно, что пароль очень слабый и может представлять угрозу безопасности.

Как решить ошибку MySQL 1819 (HY000) на Linux

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

Плагин применяет 3 уровня политики проверки пароля.

  • LOW: позволяет пользователям устанавливать пароль из 8 или менее символов.
  • MEDIUM: позволяет пользователям устанавливать пароль из 8 или менее символов со смешанными регистрами и специальными символами.
  • STRONG: позволяет пользователям устанавливать пароль, который имеет все атрибуты пароля среднего уровня с включением файла словаря.

По умолчанию для политики паролей установлено значение MEDIUM.

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

$ SHOW VARIABLES LIKE 'validate_password%';

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

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

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

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

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
Вы должны получить результат, показанный ниже:
Чтобы решить эту проблему, вам необходимо установить политику проверки пароля на самый низкий уровень – LOW.
Я знаю, что это звучит нелогично, поскольку это создает возможность для установки слабых паролей, которые в конечном итоге могут привести к взлому вашей базы данных хакерами.
Однако, если вы все еще настаиваете на своем, вот что вы можете сделать.

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

Чтобы устранить ошибку MySQL ERROR 1819 (HY000), установите более низкую политику проверки пароля, как показано далее:

mysql> SET GLOBAL validate_password_policy=LOW;
или
mysql> SET GLOBAL validate_password_policy=0;
После этого вы можете подтвердить уровень политики проверки пароля.
$ SHOW VARIABLES LIKE 'validate_password%';

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

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;
Чтобы вернуться к уровню политики паролей «MEDIUM», просто вызовите команду:
mysql> SET GLOBAL validate_password_policy=MEDIUM;

Заключение

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

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

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

You may also like

Leave a Comment