Задать вопрос
@danforth

Как восстановить базу данных из файлов, если она не хочет подниматься?

Всем привет, упала база, по каким причинам не знаю, просто случилось и факт. Сервер долго не работал (лежал с мертвой базой), т.к. клиент не часто заходит на свой проект. Попросил меня поднять, я зашел, накатил апдейты, перезапустил сервер, и теперь в логах вижу это:
2018-11-06T13:54:37.852629Z 1 [ERROR] [MY-013178] [Server] Execution of server-side SQL statement 'INSERT INTO tables SELECT *, 0 FROM mysql.tables' failed with error code = 1292, error message = 'Incorrect datetime value: '0000-00-00 00:00:00' for column 'created' at row 332'.
2018-11-06T13:54:37.870021Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-11-06T13:54:37.870043Z 0 [ERROR] [MY-010119] [Server] Aborting

Насколько я понял, база не может подняться из логов, т.к. идет INSERT с неподходящим форматом даты. Можно ли как-то восстановить данные? Таблицы были InnoDB. Пробовал поднимать разные версии БД под докером, монтируя /var/lib/mysql, но увы, версии ниже 8.0.11 говорят что redo log от новых версий, а вы используете старую версию. На последней версии ошибка та что выше.

Изначально проект запускался на 8.0.4.

Бекапов нет.
  • Вопрос задан
  • 290 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Разрешите в настройках некорректные даты, добавив в параметр конфига 'sql-mode' значение ALLOW_INVALID_DATES
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы