http://www.astalavista.ru
Тематические форумы для компьютерных клубов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Если кроме innodb и файлов .frm больше ничего не осталось

 
Начать новую тему   Ответить на тему    Список форумов http://www.astalavista.ru -> Общие вопросы (ASV2)
Предыдущая тема :: Следующая тема  
Автор Сообщение
openpass



Зарегистрирован: 01.12.2010
Сообщения: 1

СообщениеДобавлено: Ср Дек 01, 2010 11:38 am    Заголовок сообщения: Если кроме innodb и файлов .frm больше ничего не осталось Ответить с цитатой

Столкнулся с такой проблемой, что вернуть простым копированием файлы базы данных неполучается т.к. после их возвращения начинает вылетать mysqld-max-nt.exe
В результате долгих поисков нашел алгоритм действий как вернуть старую базу данных если она была просто скопирована.

Алгоритм описан для Windows.

Дано: файлы базы данных ibdata1, ibdata2, ib_logfile0, ib_logfile1, ib_logfile2, а также папка с именем потерянной, но очень нужной вам базы с файлами *.frm внутри.
+ установлена новая, "пустая" асталависта с работоспособной БД.

Требуется: Запустить mysqld-max-nt, снять дамп со старой базы данных и залить его в новую БД.

1) Останавливаем службу MySQL (если она запущена)

2) Для удобства выкладываем каталог старой базы данных на диск С (c:\mysql) Соответственно путь к innodb будет (c:\mysql\innodb) и к вашей старой базе с .frm файлами (c:\mysql\data\asta) + обязательно (c:\mysql\data\mysql)

3)Кладем файл my.ini взятый со старой копии программы astalavista в c:\mysql\bin и проверяем пути прописанные в этом файле.

4) запускаем mysql из папки c:\mysql\bin\ в режиме восстановления:
mysqld-max-nt --defaults-file=my.ini --standalone --console --innodb_force_recovery=6
Если всё сработало, то запустится mysqld-max-nt что позволит сделать дамп базы данных.

5)Не закрывая предыдущую "зависшую над выполнением операции" командную строку открываем новую и запускаем: mysqldump -uLOGIN -PPORT -hHOST -pPASS --databases --add-drop-table DBNAME > dump.txt
DBNAME=asta

6)Прибиваем службу mysqld-max-nt и запускаем эту службу в обычном режиме из новой БД.
Берем получившийся файл c:\mysql\bin\dump.txt и переносим его в новую, работающую БД асталависты. (например: c:\astalavista\mysql\bin).

7)Заливаем полученный дамп в новую пустую БД: mysql -uLOGIN -PPORT -hHOST -pPASS DBNAME < dump.txt
У меня 71 метровый файл заливался больше 3-х часов (сколько точно не знаю т.к. устал ждать и оставил комп на ночь)

8)Если старая БД асталависты работала на другой версии ПО astalavista, то потребуется ещё привести БД к эталонному виду в программе boss.exe: В основном меню выбрать: “Файл” – “Привести БД к Эталону!”

Поидее всё должно работать после этого :)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов http://www.astalavista.ru -> Общие вопросы (ASV2) Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Rambler's Top100 Яндекс цитирования