SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.11.2013 08:59:20

неБДшник
Участник
Зарегистрирован: 16.11.2013
Сообщений: 3

Восстановлене БД из .frm файлов

Здравствуйте, уважаемые форумчане.
Ник мой говорит сам за себя, поэтому очень надеюсь на помощь гуру.
Итак, что имеем: некорректно завершивший работу MySQL-сервер версии 5.0.90 и папки с именами в виде названий БД. Движок InnoDB.
Изначального ibdata1 нет, только изначальные ib_logfile0 и ib_logfile1. sql-дампов нет.
Я скопировал эти папки в рабочую директорию mysql и запустил сервер. Почти все БД починились и заработали.
Проблема только с одной из баз. Насколько я вижу, её отличие от остальных в том, что в папке присутствуют только .frm файлы и файл db.opt. В других были ещё .MYD .MYI файлы.

В логе следующее:
[ERROR] Cannot find table db_nave/table_name from the internal data dictionary of InnoDB though the .frm file for the table exists. Maybe you have deleted and recreated InnoDB data files but have forgotten to delete the corresponding .frm files of InnoDB tables, or you have moved .frm files to another database? See http://dev.mysql.com/doc/refman/5.0/en/ … oting.html how you can resolve the problem.

И так по каждой таблице. sad

Что характерно: захожу в phpMyadmin и вижу имя_БД(371). Тыкаю по ней - таблиц не обнаружено. 

Вопрос: почему остальные базы заработали без особых проблем, а эта - ни в какую. Хотя это не главное. Главное: ЭТО ЛЕЧИТСЯ? Каким образом?
Эх, если бы был sql-дамп... Можно было бы импортировать БД. Но его нет. sad
Существует ли возможность как-то преобразовать эту папку в импортируемый формат?
Или другие какие-то решения?
Буду очень признателен за помощь.

Отредактированно неБДшник (16.11.2013 09:02:29)

Неактивен

 

#2 16.11.2013 13:43:02

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Восстановлене БД из .frm файлов

К сожалению помочь не сможем, но отвечу на вопросы.
В MySQL есть два хранилища: MyISAM и Innodb.
MyISAM хранит данные в .MYD, индексы в .MYI, структуру таблиц в .frm. Так как эти файлы есть, все таблицы MyISAM сохранены.

Таблицы Innodb хранятся в общем хранилище ibdata1. Если есть только .frm, то можно восстановить только структуру таблиц, но они будут пустыми, так как данные в ibdata1.

Неактивен

 

#3 19.11.2013 05:42:16

неБДшник
Участник
Зарегистрирован: 16.11.2013
Сообщений: 3

Re: Восстановлене БД из .frm файлов

Спасибо за ответ. А  ib_logfile0 и ib_logfile1 никак не помогут восстановить данные?
И ещё вопрос. Я нашёл бэкап полугодовой давности. Там есть файл .sql
Насколько я понимаю, он содержит и структуру и данные. В phpMyAdmin есть возможность импорта .sql, но указано ограничение в 1024 Мб. Мой файл "весит" 1,7 Гб. Как быть? Я так понимаю, должна быть возможность импорта командой из консоли. Подскажете синтаксис?

Неактивен

 

#4 19.11.2013 06:01:01

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Восстановлене БД из .frm файлов

неБДшник написал:

Спасибо за ответ. А  ib_logfile0 и ib_logfile1 никак не помогут восстановить данные?

Нет


неБДшник написал:

И ещё вопрос. Я нашёл бэкап полугодовой давности. Там есть файл .sql
Насколько я понимаю, он содержит и структуру и данные. В phpMyAdmin есть возможность импорта .sql, но указано ограничение в 1024 Мб. Мой файл "весит" 1,7 Гб. Как быть? Я так понимаю, должна быть возможность импорта командой из консоли. Подскажете синтаксис?

http://sqlinfo.ru/forum/viewtopic.php?id=583

Неактивен

 

#5 19.11.2013 07:30:04

неБДшник
Участник
Зарегистрирован: 16.11.2013
Сообщений: 3

Re: Восстановлене БД из .frm файлов

Спасибо.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson