#mysql #passwords #password-policy
#mysql #пароли #пароль-политика
Вопрос:
Я использую MySQL 5.7.25, и я хочу улучшить свою политику паролей MySQL, выполнив это в команде MySQL:
SET GLOBAL validate_password_policy=2;
Но я всегда получаю сообщение об ошибке:
ОШИБКА 1193 (HY000): неизвестная системная переменная ‘validate_password_policy’
Я попытался указать переменную validate_password:
SHOW VARIABLES LIKE 'validate_password%'
но он всегда возвращает пустой набор
Комментарии:
1. это должно быть
strong
правильно, неHIGH
2. Из руководства: Если плагин validate_password включен, он предоставляет несколько системных переменных, которые позволяют настраивать проверку пароля, Вы включили плагин validate_password
3. Доступные значения
LOW, MEDIUM, STRONG
или0,1,2
SoHIGH
недопустимы5. @RiggsFolly о, да, наконец, после установки плагина validate_password я могу это сделать, я использую ubuntu 18.04
Ответ №1:
Эта проблема возникла из-за того, что validate_password
плагин по умолчанию НЕ активирован. Вы можете решить с помощью этих команд:
mysql> выберите plugin_name, plugin_status из information_schema.plugins, где plugin_name похоже на ‘validate%’;
Пустой набор (0.00 сек)
mysql> установить плагин validate_password soname ‘validate_password.so ‘;
Запрос в порядке, затронуты 0 строк (0,02 секунды)
mysql> выберите plugin_name, plugin_status из information_schema.plugins, где plugin_name похоже на ‘validate%’;
Наконец, вы покажете следующее:
------------------- ---------------
| plugin_name | plugin_status |
------------------- ---------------
| validate_password | ACTIVE |
------------------- ---------------
1 row in set (0.00 sec)
Затем вы можете запустить свою команду:
mysql> ПОКАЗЫВАТЬ ПЕРЕМЕННЫЕ ТИПА ‘validate_password%’;
-------------------------------------- --------
| Variable_name | Value |
-------------------------------------- --------
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
-------------------------------------- --------
7 rows in set (0.00 sec).
Ответ №2:
Эта команда работает для меня. Я использую MySQL 8.
SET GLOBAL validate_password.policy=LOW;
Комментарии:
1. Команда работает, но затем при попытке сменить пароль я получаю: «Сбой! Ошибка: Ваш пароль не соответствует текущим требованиям политики»