Мне нужно восстановить базу данных, которая была случайно сброшена в MySQL 5.0. Из-за проверки файлов резервных копий у меня, кажется, есть только файлы .FRM для хранения данных базы данных.
Может ли кто-нибудь посоветовать, все ли мне нужно для восстановления / импорта базы данных из резервной копии, или есть другие файлы, которые мне нужно передать, чтобы завершить это?
Ответ 1 · рейтинг 14 · tpk
Файлы .frm не являются файлами данных, они просто хранят "информацию словаря данных" (см. руководство по MySQL). InnoDB хранит свои данные в файлах ib_logfile *. Это то, что вам нужно для резервного копирования / восстановления. Дополнительные сведения см. здесь.
Ответ 3 · рейтинг 6 · Community
О боже ... у тебя проблемы. Выключите базу данных. Сделайте резервную копию файла innodb. Молитесь, чтобы вы НИЧЕГО не сделали после того, как сбросили базу данных.
Ребята из Percona (включая авторов блога о производительности MySQL) должны быть в состоянии помочь вам: Percona экстренная поддержка.
Если вы все-таки решаетесь самостоятельно, возьмите с собой следующее: Data Recovery Toolkit для Innodb .
Логистика этого? Вы должны прочитать каждую страницу (страница терминала компьютера ... блок размером 16 КБ в случае Innodb) и таким образом перестроить свои данные. Это очень низкоуровневая работа (мы говорим, откройте ваш шестнадцатеричный редактор и начните считать байты, если инструментарий не делает этого за вас), и если вы не очень опытный программист, вам будет больно .
Ответ 4 · рейтинг -2 · Ragen Dazs
Подробное решение вы можете найти здесь:
http://www.unilogica.com/mysql-innodb-recovery/ (статья на португальском)
Помимо флага innodb_force_recovery, я нашел другое решение: innodb_file_per_table, которое разбивает таблицы InnoDB в каждом файле, например таблицы MyISAM.
При аварийном восстановлении вы можете потерять меньше данных, чем в одном файле ibdata1.