SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.07.2010 08:50:38

webster
Участник
Зарегистрирован: 16.07.2010
Сообщений: 5

Востановление базы не имея бэкапа

Пожалуйса помогите! Месяц назад с горяча удалил базу сайта. После этого пользовался mysql всего пару раз. Возможно ли как то восстановить те данные? Может какие-нибудь логи ведутся? Версия mysql 5.5.0 механизм InnoDB.

Неактивен

 

#2 16.07.2010 12:52:49

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Востановление базы не имея бэкапа

Удалили как? DROP DATABASE или удалили службу? Если второе, то велик шанс,
что файлы остались на диске, и достаточно просто переустановить. Если DROP —
то, видимо, уже никак: за месяц наверняка поверх этой информации записалась
другая.

Неактивен

 

#3 16.07.2010 13:41:33

webster
Участник
Зарегистрирован: 16.07.2010
Сообщений: 5

Re: Востановление базы не имея бэкапа

Удалил саму базу форума через Navicat. Папка базы со всеми *.frm тоже удалилась. Осталось лишь ib_logfile0 - 10МБ; ib_logfile1 - 10МБ; ibdata1 - 18МБ Можно ли выташить какую-либо информацию из этих файлов?

Отредактированно webster (16.07.2010 14:23:17)

Неактивен

 

#4 17.07.2010 00:38:43

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Востановление базы не имея бэкапа

Вообще говоря, вся информация innodb содержится как раз в ibdata. Можете попробовать воссоздать структуру табличек на другом сервере, а потом скопировать *.frm. Впрочем, если база была удалена через drop database, это не поможет. Дальше можно только смотреть внутрь файла и пытаться восстановить бинарно странички с данными. Прямого пути там нет.

Неактивен

 

#5 17.07.2010 11:59:24

webster
Участник
Зарегистрирован: 16.07.2010
Сообщений: 5

Re: Востановление базы не имея бэкапа

То есть мне сейчас вооружатся hex-редактором и вскрывать файл? Можете подкинуть ссылку на статью по устройству этого файла?

Неактивен

 

#6 17.07.2010 12:20:39

webster
Участник
Зарегистрирован: 16.07.2010
Сообщений: 5

Re: Востановление базы не имея бэкапа

Вскрыл файл, вопрос отпал сам собой. Данные тут. Что интересно даже в очень читаемом виде (как я рад, спасибо за идею). Сейчас меня интересует вот что: как эти данные попадают в нужные таблицы. Если кто не понял поесню. У нас есть файл *.frm в котором храниться структура некой таблицы, у нас есть файл ibdata в котором хранятся данные к этой  таблице и еще к многим другим. Так вот, как MySql находит данные в ibdate и сопоставляет их с нужной таблицей. Может быть существуют какие-нибудь индексы по которым все и сопоставляется? Я спрашиваю потому, что данных в ibdate очень много и было бы проще поменять эти самые индексы. Если я не прав, поправьте меня...

Неактивен

 

#7 19.07.2010 10:41:11

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Востановление базы не имея бэкапа

Почитайте вот этот поток: http://sqlinfo.ru/forum/viewtopic.php?id=2438

Там файлики *.ibd, но принцип тот же самый — есть ibdata, в котором написано,
в каком tablespace находятся данные таблички (в Вашем случае — в самой ibdata),
и восстанавливать данные оттуда можно точно так же.

Неактивен

 

#8 20.07.2010 16:23:26

webster
Участник
Зарегистрирован: 16.07.2010
Сообщений: 5

Re: Востановление базы не имея бэкапа

Благодарю за помощь! Проблема решена!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson