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: В основном меню выбрать: “Файл” – “Привести БД к Эталону!”
Поидее всё должно работать после этого :) |
|