Хорошо я попробовал набор материала и исследовал набор команд, переключателей и структур (не удивительно, документы MySQL были самыми полезными, если обширный — игла/стог сена). В конечном счете некоторые мои приемы работали (оказывается, что другие думали о тех же приемах, хотя я не видел эти две больших части — восстановление структуры таблицы и восстановление данных — в одном месте, таким образом, я отправляю их вместе здесь).
То, что я должен был сделать, должно было воссоздать файл IBDATA1. К сожалению, в то время как выполнение демона обнаруживает базы данных (каталоги), оно не берет таблицы Innodb внутри (файлы IBD/FRM). Таким образом, то, что я сделал, было к:
…\MySQL\share
DESCRIBE
или лучше, SHOW TABLE CREATE
извлечь структуру таблицыDISCARD TABLESPACE
на таблицеIMPORT TABLESPACE
innodb-force-recovery=6
mysqldump
извлечь структуры и данныеКонечно, это было не всегда гладко. Некоторые таблицы были прекрасны, но некоторое необходимое отбрасывание таблицы и базы данных после SHOW TABLE CREATE
, и использование этого для воссоздавания таблицы прежде, чем попытаться импортировать данные. Другие даже не работали, что далеко, и я должен был вручную получить комментарии и названия столбцов из файла КАДРА с помощью Hex-редактора (хотя выясняя то, чем и т.д. были типы данных и атрибуты, ключи, была загаженная охота). Кроме того, было много из — слишком многие — клиентские перезапуски и демон.
(Я все еще ищу инструмент, который непосредственно проанализирует файлы FRM/IBD (или по крайней мере отобразит структуру таблицы из файла КАДРА), но похоже, что никто не потрудился “перепроектировать” их даже при том, что это - открытый исходный код, и форматы файлов общедоступны. Кажется, что все - удовлетворенное использование официальных инструментов MySQL — таким образом создание прекрасной возможности для фирм по восстановлению данных и собственных/коммерческих инструментов.)
Ключ должен был всегда работать с абсолютным минимумом (например, только каталог MYSQL — т.е. системные таблицы). К сожалению, в то время как это означало, что вещи будут упрощены и легче работать с, это также означало восстанавливать одну таблицу за один раз — который не был грандиозным предприятием для меня, но для некоторых людей это могло быть.
Так или иначе, из многих страниц восстановления MySQL в Интернете, который я видел во время нескольких прошлых дней, маленькое небольшое количество было довольно полезно, и я добавлю их, после того как я обыскиваю свою историю для вскапывания их.
Надежда это может помочь другим в аналогичной ситуации.
Способность перечислить все таблицы и базу данных обычно означает, что *.frm файлы там. Они не означают, что существуют любые данные для них. Вы попытались запустить свой процесс mysqld, вызывающий innodb восстановление? В противном случае попробуйте его, да, что журнал mysql говорит при запуске?
После того, как это сделано: никогда не пытайтесь использовать резервные копии как этот снова.