Восстановитесь mysql база данных innodb 'таблица не существует'

Наш сервер отказал на прошлой неделе, и мы потеряли большую информацию. Мы смогли восстановиться .frm файлы для таблиц, ib_logfile0, ib_logfile1 и ibdata1 но нет .ibd.

Я попробовал innodb-force-recovery на всех уровнях 1 - 6 и большом из других 'решений' я нашел онлайн без любого успеха.

Прямо сейчас я пытался сделать это trhough a mysqldump и restore из базы данных, но сталкивается с той же проблемой Mathew здесь.

этот ответ похож на него, мог бы работать. Моя проблема, сначала - мой сервер является Windows, базирующимся, вторым - я испытываю недостаток в знании и навыках для применения этого на командную строку окон.

Случайно есть ли аналогичное решение для Windows

править

мы не использовали innodb_file_per_table таким образом, все данные должны храниться на ibdata1

2
задан 13 April 2017 в 15:14
1 ответ

Это сообщение на форуме MySQL похоже на историю успеха, хотя и немного устарело. Я помню похожую историю в Linux. Платформа Windows здесь не имеет значения, структура файлов данных MySQL аналогична. Никакой работы из командной строки не требуется. Я предполагаю, что ваш файл Ibdata не поврежден каким-либо образом.

Знаете, вам вообще не нужны файлы ib_logfile? , сообщение на форуме подтверждает это. Ключевые операции здесь:

  1. новая установка MySQL (используйте ту же версию);
  2. ручное воссоздание одноименных баз данных, может быть выполнено из последней резервной копии, если она у вас есть ;
  3. отключение innodb_file_per_table в my.cnf , лучше всего восстановить старую конфигурацию;
  4. заменив Ibdata в новой установке на восстановленную.

После запуска MySQL вы должны иметь возможность просматривать и выгружать данные из таблиц InnoDB.

0
ответ дан 3 December 2019 в 14:41

Теги

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