Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Здравствуйте все.
При обновлении системы биллинга использовался файл с MySQL-процедурой, который в результате привел к ошибкам.
База так и не была полностью обновлена, в результате чего пришлось залить обратно старый дамп (залил просто папку stat в /var/lib/mysql).
Но при старте системы mysqld упал, в логах появились ошибки о испорченных таблицах.
После всего этого остались только .FRM (*.myd и *.myi мистическим образом исчезли).
Можно ли восстановить базу по FRM? Можно ли найти файлы myd и myi физически на жестком диске (если mysql все-таки их потер)?
Очень актуально.
Спасибо всем заранее за ответы.
Жду вашей помощи!
Неактивен
Забыл указать, остались отдельно сдампленные бинарные файлики:
ibdata1, ibdata2, ib_logfile0, ib_logfile1
Неактивен
Если таблички были только MyISAM, то по frm ничего восстановить нельзя (в frm
лежит лишь описание структуры таблички). Если InnoDB и не включен
innodb_file_per_table, то данные этих табличек в ibdata*, должны читаться. Восста-
новить файлы — достаточно сложное действие, если у Вас не осталось ссылок на
эти файлы. Посмотрите на открытые mysqld файлы, если Вы его не перезагружали,
то файлики должны были остаться открытыми:
ls -l /proc/`cat /var/run/mysql/mysqld.pid`/fd
Если файлики есть, то они показываются как симлинки с (deleted) в хвосте имени.
Такие файлики можно восстановить простым копированием. Важно: не делайте
FLUSH TABLES перед копированием, иначе MySQL закроет эти файлы и Вы их поте-
ряете совсем. Лучше получить битые таблички, чем остаться совсем без них.
Неактивен
Страниц: 1