Ваш пароль не соответствует текущим требованиям политики: при использовании REVOKE.

Вопрос или проблема

Вошел как пользователь root, текущий пароль уже соответствует требованиям политики.

При отзыва GRANT,

mysql> revoke select on laravel.* from 'dumindu'@'locahost'; 
ERROR 1819 (HY000): Ваш пароль не соответствует текущим требованиям политики

понизил политику,

mysql> SET GLOBAL validate_password.policy=LOW;
Запрос выполнен, затронуто строк: 0 (0.00 сек)

mysql> SHOW VARIABLES LIKE 'validate_password%';
+-------------------------------------------------+-------+
| Название_переменной                             | Значение |
+-------------------------------------------------+-------+
| validate_password.changed_characters_percentage | 0     |
| validate_password.check_user_name               | ВКЛ   |
| validate_password.dictionary_file               |       |
| validate_password.length                        | 8     |
| validate_password.mixed_case_count              | 1     |
| validate_password.number_count                  | 1     |
| validate_password.policy                        | НИЗК   |
| validate_password.special_char_count            | 1     |
+-------------------------------------------------+-------+

перезапустил сервис mysql (установленный с помощью homebrew)

по-прежнему получаю ту же ошибку!

Ответ или решение

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

Понимание проблемы

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

mysql> REVOKE SELECT ON laravel.* FROM 'dumindu'@'localhost';

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

Проверка и сброс требований

Вы упомянули, что вы понизили политику паролей до LOW:

mysql> SET GLOBAL validate_password.policy=LOW;

Если это было успешно применено, вы должны удостовериться, что все параметры политики установлены правильно. Например:

mysql> SHOW VARIABLES LIKE 'validate_password%';

В выводе вы должны видеть, что политика действительно установлена на LOW, а другие параметры — такие как минимальная длина пароля (8 символов), количество смешанных регистров (1), количество цифр (1) и специальные символы (1) — также соответствуют вашим ожиданиям.

После изменения политики вы перезапустили службу MySQL, однако по-прежнему просите об ошибке. Следует обратить внимание на следующие моменты:

Важно проверить:

  1. Состояние пользователя dumindu: Убедитесь, что у пользователя dumindu есть установленный пароль, и он действительно соответствует минимальным требованиям, заявленным для политики LOW.

    Чтобы проверить пароль, вы можете использовать следующий запрос, чтобы убедиться, что он установлен:

    SELECT User, Host, authentication_string FROM mysql.user WHERE User='dumindu';
  2. Обновление пароля: Если пароль не установлен или его недостаточно сложно, это может быть причиной ошибки. Попробуйте изменить пароль следующим образом:

    SET PASSWORD FOR 'dumindu'@'localhost' = PASSWORD('новыйСложныйПароль1!');

    Убедитесь, что новыйСложныйПароль1! соответствует установленным требованиям по политике.

  3. Настройки глобальных переменных: Не забудьте также убедиться, что изменения, внесенные через SET GLOBAL, сохраняются и действуют для всех сессий. Иногда нужно перезапустить базу данных или убедиться, что вы подключены заново, чтобы изменения вступили в силу.

Проверьте другие конфигурации

Если вышеуказанные пункты не решают вашу проблему, возможно, вы столкнулись с конфликтом конфигураций, который может быть вызван настройками файлов конфигурации MySQL (например, my.cnf или my.ini). Проверьте, что там нет других установок, которые могут противоречить этим изменениям.

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...