Как исправить MySQL ERROR 1819 (HY000) в Linux

При создании пользователя MySQL со слабым паролем вы можете столкнуться с ошибкой «MySQL ERROR 1819 (HY000): Ваш пароль не удовлетворяет текущим требованиям политики безопасности«. Технически это не ошибка, а уведомление о том, что вы используете пароль который не соответствует рекомендуемым требованиям политики паролей.

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

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

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

Ошибка MySQL 1819 (HY000)
Ошибка MySQL 1819 (HY000)

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

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

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

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

По умолчанию политика паролей имеет значение Средний. Вы можете проверить уровень политики паролей, выполнив команду:

$ SHOW VARIABLES LIKE ‘validate_password%’;

Проверка Политики Паролей Mysql
Проверка Политики Паролей Mysql

Ввели команду и получили пустую таблицу, то плагин не включен.

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

mysql> select plugin_name, plugin_status from information_schema. plugins where plugin_name like ‘ validate%’;

mysql> установить плагин validate_password soname ‘validate_password.so’;

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

mysql> select plugin_name, plugin_status from information_schema. plugins where plugin_name like ‘ validate%’;

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

Включение Политики Паролей Mysql
Включение Политики Паролей Mysql

Чтобы устранить ошибку MySQL ERROR 1819 (HY000), необходимо установить политику проверки пароля на самый низкий уровень. Я понимаю, что это звучит нелогично. Так как это создаст возможность для установки слабых паролей. Которые в свою очередь могут привести к тому, что ваша база данных будет скомпрометирована хакерами.

Но если вы все еще хотите сделать это, то вот способ отключения.

Как изменить политику проверки паролей 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
Изменение Политики Паролей Mysql

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

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

Чтобы вернуться к «среднему» уровню политики паролей, просто введите команду:

mysql> SET GLOBAL validate_password_policy=MEDIUM;

Заключение

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

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

,Если у вас при установки MySQL на Ubuntu возникли проблемы, рекомендую эту статью к прочтению  Установка Ubuntu MySQL

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

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

  1. trushman

    Только не
    mysql> SET GLOBAL validate_password_policy=LOW;
    а
    mysql> SET GLOBAL validate_password.policy=LOW;

    Ответить