SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 17.10.2008 11:11:13

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

Востановление базы MYSQL

Случилась нелепость за которую теперь стыдно.

Открыл базу данных *.MYI  через блокнот с целью подправить некоторую информацию. НУ и сохранил после изменений.. 
База рухнула.   чего и следовало ожидать.
Есть ли какие нибудь варианты, чтобы можно было востановтить таблицу
Бекапа нет.
МОжет кто-то может подсказать по структуре , которая должна быть в базе.
hex редакторами и прочими приблудами пользоваться  умеем...

Неактивен

 

#2 17.10.2008 13:23:01

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Востановление базы MYSQL

Вот здесь по структуре данных: http://webew.ru/posts/1110.webew

*.MYI это файл индекса, попробуйте его скопировать в другой каталог вместе с .MYD и .frm файлами и запустить myisamchk файл.MYI

Неактивен

 

#3 17.10.2008 16:31:11

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

Re: Востановление базы MYSQL

"База рухнула" - это сервер не запускается или просто табличка не читается?

Если второе - то REPAIR TABLE tablename должно хватить. Если совсем плохо -
REPAIR TABLE tablename USE_FRM - вообще будет игнорировать MYI, даже первые
1024 байта.

Если первое - то да, сначала myisamchk.

Неактивен

 

#4 20.10.2008 15:42:43

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

Re: Востановление базы MYSQL

Открыли файл *.MYD ошибся сначала
после открытия и сохранения блокнотом обнаружили

Открыли то что полуилось win-кексом и обнаружили что все нули заменились на 20H
(20H это пробелы, в блокноте,  но помимо пробелов есть в базе была и другая инфа smile)))  )
Никакие утилиты востановления успехом не увенчались,  с самим разными параметрами пробовали.
Выдает ошибку:


Not enough memory for blob at 242704 (need 1835100526)

Неактивен

 

#5 20.10.2008 16:22:14

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Востановление базы MYSQL

может помочь только ссылка на структуру данных, которую я привел в посте #2. Просто разбирать структуру данных по записям и восстанавливать служебную информацию или просто бинарные данные вытащить.

Неактивен

 

#6 20.10.2008 17:47:50

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

Re: Востановление базы MYSQL

Блокнот, насколько я знаю, обрезает большие (>65k) файлы с хвоста, так что, скорее всего,
данные Вы потеряли sad

Можете попробовать захексить 32 символ в 0 (и потом myisamchk), но, боюсь, что это данные
не спасет никак sad

Можно еще попробовать ключик --safe-recover у myisamchk - он работает медленнее, но,
возможно, найдет чуть больше записей.

Неактивен

 

#7 21.10.2008 10:12:20

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

Re: Востановление базы MYSQL

Данные не обрезаны и читабельны.  можно вытащить из базы всю инву. база весит около мега.. но вручную заново заполнить базу адский труд....

\\\Можете попробовать захексить 32 символ в 0 (и потом myisamchk), но, боюсь, что это данные
не спасет никак
в том то  и дело точ все подряд сщаменять нельзя...    и ничего толком не выйдет если атк сделать
sad

Неактивен

 

#8 21.10.2008 22:40:53

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

Re: Востановление базы MYSQL

А строки не фиксированной длины, случаем?

Неактивен

 

#9 22.10.2008 07:57:37

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

Re: Востановление базы MYSQL

Нет,  сожалению...  динамические

Неактивен

 

#10 22.10.2008 18:46:21

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

Re: Востановление базы MYSQL

Боюсь, что готового автоматического средства нету. Вам нужно написать что-то своё sad

Неактивен

 

#11 27.10.2008 14:00:18

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

Re: Востановление базы MYSQL

востанваливаем построчно smile  методом научного тыка...   
благо база не слишком большая

Неактивен

 

Board footer

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