Если вы пытались установить MySQL в новых версиях дистрибутива Ubuntu, то могли столкнутся с этой ошибкой при выполнении команды mysql_secure_installation или при попытке сменить пароль с помощью SQL команды ALTER USER.
В этой статье мы разберем почему возникает такая ошибка, а также как исправить Your password does not satisfy the current policy requirements MySQL в вашей системе.
Содержание статьи
Почему возникает такая ошибка?
MySQL имеет плагин для проверки сложности паролей. Он по умолчанию отключен, но при выполнении mysql_secure_installation программа предлагает его включить и включает по умолчанию, если вы явно не отказались от этого. Этот плагин проверяет сложность пароля и не дает установить слишком слабые пароли. У плагина есть три политики требований к паролям:
- LOW - самая легкая политика, она проверяет только длину пароля. Пароль должен быть не менее восьми символов.
- MEDIUM - эта политика используется по умолчанию. Она требует чтобы пароль был не меньше 8 символов, содержал как минимум одну цифру, одну буквы верхнего и одну нижнего регистра, а также как минимум один спец символ, например восклицательный знак, собаку, подчеркивание и т д.
- STRONG - эта политика добавляет к правилам из MEDIUM требование, чтобы слова из которых состоит пароль не содержались в словаре.
Скрипт mysql_secure_installation спрашивает какую политику надо активировать, после того как вы включили плагин Password Validation Plugin и по умолчанию предлагается именно политика MEDIUM:
Таким образом, если вы выберете все значения по умолчанию и потом попытаетесь указать пароль, который не соответствует требованиям, например, чаще всего это будет отсутствие спец символа, то вы получите ошибку "Your password does not satisfy the current policy requirements".
Как исправить ошибку?
Самый простой способ исправить эту ошибку - это указать пароль, который будет соответствовать требованиям политики. Для политики MEDIUM это может быть такой пароль: IePhi4A!. Но это не всегда подходит. Поэтому ещё вы можете понизить политику до LOW, для того чтобы требования к паролю были не такими строгими. Для этого выполните подключитесь к серверу баз данных MySQL:
mysql -u root -p
Или если в системе выбрана авторизация не по паролю:
sudo mysql
Затем выполните такой запрос:
SET GLOBAL validate_password.policy=LOW;
После этого вы можете поменять пароль на нужный. Ещё один вариант - полностью отключить плагин валидации паролей. Для этого выполните такой SQL запрос:
UNINSTALL COMPONENT 'file://component_validate_password';
После этого валидация паролей будет полностью отключена и вы сможете установить желаемый пароль.
Выводы
В этой статье мы рассмотрели как исправить ошибку связанную с валидацией пароля MySQL. Как видите это довольно не сложно.