Восстановление базы данных завершилось с ошибкой
Симптомы
При попытке импорта или восстановления пользователя из резервной копии, в панели возникают ошибки «Восстановление базы данных завершилось с ошибкой» и «Не удалось выполнить запрос к базе данных» соответственно.
При этом в обоих случаях в журнале панели по пути /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и выше).
Подробно о всех параметрах плагина в официальной документации!