Как восстановить таблицы (innoDB) имея на руках ее .frm файл

12 3
R
На сайте с 13.06.2009
Offline
47
9241

Случайно удалили базу в которой было около 10 нужных мне таблиц (удалил весь MySQL полностью). Дампа нету (дело было на домашнем компе). Удалось восстановить почти все файлы таблиц.

Они с frm расширением Я думал будет достаточно их закинуть обратно в папку с базой и все, но это не прокатило выдает ошибку: #1033 - Incorrect information in file: '.\data\channels.frm'

Вообще возможно это сделать? Может нужны еще какие-то файлы от прошлой установленной MySQL?

rtyug
На сайте с 13.05.2009
Offline
263
#1

попробуйте выполнить запрос

REPAIR TABLE my_table
Спалил тему: Pokerstars вывод WMZ, etc на VISA 0% или SWIFT + Конверт USD/GBP,etc (net profit $0,5 млрд) (https://minfin.com.ua/blogs/94589307/115366/) Monobank - 50₴ на счет при рег. тут (https://clck.ru/DLX4r) | Номер SIP АТС Москва 7(495) - 0Ꝑ, 8(800) - 800Ꝑ/0Ꝑ (http://goo.gl/XOrCSn)
R
На сайте с 13.06.2009
Offline
47
#2
rtyug:
попробуйте выполнить запрос
REPAIR TABLE my_table

Да не такой примитив не пройдет я его уже успел попробовать.

Мне главное восстановить структуру. Данные не очень важны (хотя если и их получится то будет вообще класс).

[Удален]
#3
recrut:
Может нужны еще какие-то файлы от прошлой установленной MySQL?

idblog чтоли файл называется, лежит в папке, которая содержала папки с базами. вот он нужен - он содержит информацию, а frm - только структуру вроде как :-)

B
На сайте с 19.08.2007
Offline
30
#4

Никак :) Нужны файлы ibdata, информация хранится в них.

Покупаю сайты для родителей, про детей и женской теме, действующие интернет-магазины.
R
На сайте с 13.06.2009
Offline
47
#5
bugak:
Никак :) Нужны файлы ibdata, информация хранится в них.

Да мне информация не особо и нужна мне нужна структура. Его (ibdata) не получается восстановить.

B
На сайте с 19.08.2007
Offline
30
#6

Как вариант, если repair table не работает, попробовать запускать сервер с параметром innodb_force_recovery от 1 до 6.

R
На сайте с 13.06.2009
Offline
47
#7
bugak:
Как вариант, если repair table не работает, попробовать запускать сервер с параметром innodb_force_recovery от 1 до 6.

Хех не помогло. И файл ibdata не удается восстановить уже две проги попробовал.

N
На сайте с 06.05.2007
Offline
419
#8

Сам не пробовал, но вот нагуглил :

http://lists.mysql.com/mysql/157662

0. Make sure you have foo.frm saved somewhere other than your MySQL data

directory.

1. Create a new MyISAM table foo; it doesn't matter what the layout is.

For example, "create table foo (n int);"

2. Copy your foo.frm over the one created in step 1.

3. Change the fourth byte of foo.frm to hex 09 instead of hex 0C.

4. From the MySQL client, say "show create table foo;"

Кнопка вызова админа ()
[Удален]
#9

netwind, странно, что еще никто парсер структуры не написал ... задача то типичная увы :(

http://forge.mysql.com/wiki/MySQL_Internals_File_Formats

N
На сайте с 06.05.2007
Offline
419
#10

попробовал - не пашет, ошибка Incorrect information in file

Видимо, с 2004 много чего сменилось в innodb.

seodude, узкая задача - безответственные на должности DBA не задерживаются.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий