Восстановление базы данных завершилось с ошибкой
Симптомы
При попытке импорта или восстановления пользователя из резервной копии, в панели возникают ошибки «Восстановление базы данных завершилось с ошибкой» и «Не удалось выполнить запрос к базе данных» соответственно.
При этом в обоих случаях в журнале панели по пути /usr/local/mgr5/var/ispmgr.log
можно увидеть следующую ошибку:
db ERROR query error: Your password does not satisfy the current policy requirements
Причины
Несоответствие пароля пользователя базы данных политике сервера баз данных MySQL.
Решение
Политика паролей в MySQL управляется с помощью плагина «validate_password».
Чтобы проверить текущую политику паролей MySQL, выполните следующие действия:
- Подключитесь к серверу по SSH;
- Подключитесь к MySQL, выполнив команду:
mysql
- для нативного сервера баз данных;mysql -h IP-АДРЕС -P ПОРТ -uroot -p
- для альтернативного сервера баз данных.
- Введите SQL-запрос:
SHOW VARIABLES LIKE 'validate_password_policy';
Вывод будет содержать значение уровня сложности пароля:
LOW
- пароль должен содержать не менее 8 символов;MEDIUM
- Условия уровняLOW
, а также должны быть хотя бы одна строчная буква, одна заглавная буква, одна цифра и один специальный символ;STRONG
- Условия уровняMEDIUM
, а также пароль проходит проверку на несоответствие паролям из подключенного словаря.
По умолчанию устанавливается уровень MEDIUM
.
Если вывод содержит строку «Empty set (0.00 sec)», то плагин «validate_password» не установлен и ошибка вызвана другой причиной - в этом случае обратитесь в поддержку ispmanager.
Чтобы существующий пароль не мешал импорту, временно необходимо изменить требования к паролям, снизив уровень сложности пароля и отключив проверку наличия специальных символов. Для этого выполните SQL-запросы:
SET GLOBAL validate_password_policy = "LOW";
SET GLOBAL validate_password_special_char_count = 0;
Затем выполните восстановление/импорт базы данных и после удачной попытки верните значения параметров по умолчанию:
SET GLOBAL validate_password_policy = "MEDIUM";
SET GLOBAL validate_password_special_char_count = 1;
Дополнительная информация
Если плагин «validate_password» был настроен вручную, посмотреть текущие требования к паролям можно с помощью следующего SQL-запроса к серверу базы данных:
SHOW VARIABLES LIKE 'validate%';
Для изменения доступны следующие параметры:
validate_password_check_user_name
— проверка пароля на совпадение с именем пользователя.validate_password_dictionary_file
— файл со словарем запрещенных паролей.validate_password_length
— минимальная длина пароля.validate_password_mixed_case_count
— минимальное количество строчных и заглавных букв в пароле (для политикMEDIUM
и выше).validate_password_number_count
— минимальное количество цифр в пароле (для политикMEDIUM
и выше).validate_password_policy
— установка определенной политики создания паролей.validate_password_special_char_count
— минимальное количество специальных символов в пароле (для политикMEDIUM
и выше).
Подробно о всех параметрах плагина в официальной документации!