Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> InnoDB, остатки базы, Нужно восстановить 
V
    Опции темы
omickron
Дата 28.7.2011, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 12.2.2009

Репутация: нет
Всего: 1



Ситуация банальная:
Есть MySQL версии 5.0. Точнее, был. 
Система умерла. Файлы базы удалось восстановить полностью.
Таким образом, имеем набор *.frm файлов для таблицы InnoDB.

Задача: восстановить базу из этих файлов.
PM MAIL   Вверх
sir_nuf_nuf
Дата 28.7.2011, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 8
Всего: 31



Только frm файлы ? - тогда вы можете восстановить только структуру базы.
Просто положите файлы в нужную директорию и запустите сервер.

Если нужные еще и данные - вам нужен файл InnoDB tablespace - называются что то вроде ibdata  и логи InnoDB


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
omickron
Дата 28.7.2011, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 12.2.2009

Репутация: нет
Всего: 1



У меня в распоряжении полная папка MySQL\data, которая осталась с предыдущей системы.
При попытке заменить новую папку data сохранившейся, сервер не запускается.
Если заменить только папку с БД, то виден только список таблиц, но при попытке считать что-то из таблицы, MySQL её не находит.
PM MAIL   Вверх
sir_nuf_nuf
Дата 28.7.2011, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 8
Всего: 31



да, потому что данные содержатся не в FRM файлах.

Какие еще файлы есть в вашей папке ?


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
omickron
Дата 28.7.2011, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 12.2.2009

Репутация: нет
Всего: 1



В папке с именем базы лежат *.frm файлы по именам таблиц и один файл db.opt на 65 байт.
В корне папки data лежат файлы: ib_logfile0 ib_logfile1 ibdata1. Ещё есть *.err и *.pid, но они нам не интересны.
Я полагаю, данные лежат в ibdata1, судя по размеру.
PM MAIL   Вверх
sir_nuf_nuf
Дата 29.7.2011, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 8
Всего: 31



Да, это они. 
Что пишет сервер в лог при запуске ?

А вообще читаем сюда:
http://dev.mysql.com/doc/refman/5.1/en/for...b-recovery.html




--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
omickron
Дата 30.7.2011, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 12.2.2009

Репутация: нет
Всего: 1



В логе только это:


C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin\mysqld-nt, Version: 5.0.41-community-nt-log (MySQL Community Edition (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time                 Id Command    Argument



Попытался восстановить:
1. Выключил сервер.
2. Установил в my.ini [mysqld] innodb_force_recovery = 1 (SRV_FORCE_IGNORE_CORRUPT)
3. Скопировал папку бд и файлы ib_logfile0, ib_logfile1, ibdata1 в папку data.
4. Запустил сервер.

Результат тот же. Сервер не запускается.

Это сообщение отредактировал(а) omickron - 30.7.2011, 11:10
PM MAIL   Вверх
sir_nuf_nuf
Дата 30.7.2011, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 8
Всего: 31



Такое ощущение, что он вообще не видит базу. База точно в нужной директории лежит ?


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
omickron
Дата 30.7.2011, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 12.2.2009

Репутация: нет
Всего: 1



Да, конечно.

Более того, я делал так:
1. Останавливал сервер
2. Удалял всю папку data
3. Замещал её сохранённой со старой машины
4. Сервер не запускался

Это сообщение отредактировал(а) omickron - 30.7.2011, 12:55
PM MAIL   Вверх
omickron
Дата 30.7.2011, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 12.2.2009

Репутация: нет
Всего: 1



Цитата

"А ларчик просто открывался..."


В общем, картина маслом: 
1) взял папку MySQL 5.0
2) скопировал её на новый сервер вместо всего, что там было
3) запустил сервер
4) ...
5) PROFIT!

Повезло, что была вся папка MySQL на руках. Иначе так просто не решил бы.

Складывается ощущение, что где-то там ещё какие-то настройки присутствуют, о которых я не знаю.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0986 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.