Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте, уважаемые форумчане.
Ник мой говорит сам за себя, поэтому очень надеюсь на помощь гуру.
Итак, что имеем: некорректно завершивший работу 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.
И так по каждой таблице.
Что характерно: захожу в phpMyadmin и вижу имя_БД(371). Тыкаю по ней - таблиц не обнаружено.
Вопрос: почему остальные базы заработали без особых проблем, а эта - ни в какую. Хотя это не главное. Главное: ЭТО ЛЕЧИТСЯ? Каким образом?
Эх, если бы был sql-дамп... Можно было бы импортировать БД. Но его нет.
Существует ли возможность как-то преобразовать эту папку в импортируемый формат?
Или другие какие-то решения?
Буду очень признателен за помощь.
Отредактированно неБДшник (16.11.2013 09:02:29)
Неактивен
К сожалению помочь не сможем, но отвечу на вопросы.
В MySQL есть два хранилища: MyISAM и Innodb.
MyISAM хранит данные в .MYD, индексы в .MYI, структуру таблиц в .frm. Так как эти файлы есть, все таблицы MyISAM сохранены.
Таблицы Innodb хранятся в общем хранилище ibdata1. Если есть только .frm, то можно восстановить только структуру таблиц, но они будут пустыми, так как данные в ibdata1.
Неактивен
Спасибо за ответ. А ib_logfile0 и ib_logfile1 никак не помогут восстановить данные?
И ещё вопрос. Я нашёл бэкап полугодовой давности. Там есть файл .sql
Насколько я понимаю, он содержит и структуру и данные. В phpMyAdmin есть возможность импорта .sql, но указано ограничение в 1024 Мб. Мой файл "весит" 1,7 Гб. Как быть? Я так понимаю, должна быть возможность импорта командой из консоли. Подскажете синтаксис?
Неактивен
неБДшник написал:
Спасибо за ответ. А ib_logfile0 и ib_logfile1 никак не помогут восстановить данные?
Нет
неБДшник написал:
И ещё вопрос. Я нашёл бэкап полугодовой давности. Там есть файл .sql
Насколько я понимаю, он содержит и структуру и данные. В phpMyAdmin есть возможность импорта .sql, но указано ограничение в 1024 Мб. Мой файл "весит" 1,7 Гб. Как быть? Я так понимаю, должна быть возможность импорта командой из консоли. Подскажете синтаксис?
Неактивен
Спасибо.
Неактивен