[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удалил по ошибке таблицу в Б.Д.
Guest2011
Добрый день!
Интересует такой вопрос:
сегодня случайно по ошибке удалил таблицу в базе данных.
Можно ли как-то восстановить таблицу пока ещё не закрыл PHP-Myadmin или это уже всё "с концами"?



Спустя 8 минут, 24 секунды (7.02.2011 - 16:15) Arni написал(а):
Аминь.

Спустя 5 минут, 4 секунды (7.02.2011 - 16:21) twin написал(а):
Теоретически может и можно... Пыхадмин тут непричем правда.
Дело в том, что таблица, это файл. А есть какие то возможности восстанавливать удаленные файлы, пока они не перетерлись окончательно. Но это наверное сложно. И этим занимаются сисадмины, а не программисты...

Спустя 3 минуты, 16 секунд (7.02.2011 - 16:24) Guest2011 написал(а):
а как бы найти этот файл?
база на локальном компьютере

Спустя 19 минут (7.02.2011 - 16:43) inpost написал(а):
Guest2011
1. Узнаешь, как называются файлы эти, хотя бы приблизительно.
2. Узнаешь, как востанавливаются потертые файлы
=)

Спустя 23 минуты, 24 секунды (7.02.2011 - 17:06) Arni написал(а):
Я вам советую попрощаться с утратой. twin правильно сказал. Есть программы которые ищут на диске файлы оторванные от файловой системы. И найдет она их огого. Потом в мусоре состоящем из кучи файлов с непонятными именами, вам нужно будет найти пару которые относятся к утерянной таблице. Именно пару smile.gif . Если удаляли еще таблицы, то у вас возможных кандидатов будет гараздо больше. Если же таблицы были в INNODB то можете уже и не пытаться. Без прописи в системных файлах сервера мускуля это просто мусор.

Спустя 3 минуты, 5 секунд (7.02.2011 - 17:09) linker написал(а):
Названия удаленных файлов равно название таблицы плюс расширения MYD, MYI, FRM для каждого из файла. Поможет утилита восстановления удаленных файлов. Но вероятность успеха уже сейчас стремится к нулю.

Спустя 1 час, 44 минуты, 38 секунд (7.02.2011 - 18:54) Guest2011 написал(а):
Восстановил файлы при помощи программы восстановления данных GetDataBack.
Остальные программы оказались не помогли.
там в программе при восстановлении нашлась папка auto2 (так и называется моя б.д.)
я её поместил на место
C:\WebServers\usr\local\mysql-5.1\data\auto2
и теперь все удалённые файлы находятся опять на своём месте.

Но при просмотре моей таблицы data в PhpMyadmin пишет:

SQL-запрос: 

SHOW FULL FIELDS FROM `data` ;

Ответ MySQL: Документация
#130 - Incorrect file format 'data'


Можно ли что-то подправить?

P.s. пояснение : моя Б.д называется avto2, содержит всего 2 таблицы с названиями data и zoom

Спустя 32 минуты, 5 секунд (7.02.2011 - 19:26) Guest2011 написал(а):
Т.е. в PHPMYADMIN базу после восстановления видно. Но когда нажимаю на конкретную таблицу, то выдаёт вышеуказаную ошибку.

Спустя 2 минуты, 59 секунд (7.02.2011 - 19:29) jetistyum написал(а):
Повод лишний раз задуматься и случайно сделать бэкап smile.gif

Спустя 5 минут, 38 секунд (7.02.2011 - 19:35) Guest2011 написал(а):
да это понятно.
но есть, что имеем.
т.е. всё восстановил, но phpmyadmin почемуто не распознаёт базу

Восстановил ведь все файлы :
data.frm, data.myi, data.myd

Спустя 45 минут, 2 секунды (7.02.2011 - 20:20) Guest2011 написал(а):
И ещё для гарантии в другой программе handy recovery восстановил файлы.
А оно всё равно в phpmyadmin пишет:

      SQL-запрос:
SHOW FULL FIELDS FROM `data` ;
Ответ MySQL: Документация
#130 - Incorrect file format 'data'



те. возможно 2 варианта:
либо phpmyadmin ещё куда-то сохраняет данные кроме как в
WebServers\usr\local\mysql-5.1\data\

либо данные, что я восстановил имеют неправильный формат из-за того, что при удалении Phpmyadmin их делает преднамеренно невозможными к восстановлению

Спустя 10 минут, 28 секунд (7.02.2011 - 20:30) Arni написал(а):
У вас таблицы MyISAM? Если да, то для каждой таблицы толи 2 толи 3 файла должно быть. Создайте еще одну базу и сравните. Если у вас INNODB то не тратте время.


Цитата

либо phpmyadmin ещё куда-то сохраняет данные кроме как в


phpmyadmin тут не причем абсолютно. Этим занимается MySQL - Server

Спустя 24 минуты, 8 секунд (7.02.2011 - 20:54) YVSIK написал(а):
Есль посмотреть в паку Mysql что увидим;
базы а в них
кучу файлов малого размера
Вывод такой, может не все файлы вы восстановили(т.к. с данными)
как я восстанавливаю;== >
буру старую папку Mysql и копирую в новую установку денвера
и осечки пока не было
может и вам это поможет есль есть старые установки
только вот наполнение скажем будет не полным или проще
старое наполнение

Спустя 12 минут, 26 секунд (7.02.2011 - 21:07) Guest2011 написал(а):
Цитата
У вас таблицы MyISAM? Если да, то для каждой таблицы толи 2 толи 3 файла должно быть. Создайте еще одну базу и сравните. Если у вас INNODB то не тратте время.
phpmyadmin тут не причем абсолютно. Этим занимается MySQL - Server


Проверил. У меня таблицы имеют тип MyISAM.

Цитата

Есль посмотреть в паку Mysql что  увидим;
базы а в них
кучу файлов малого размера
Вывод такой, может не все файлы вы восстановили(т.к. с данными)
как я восстанавливаю;== >
беру старую папку  Mysql и копирую в новую установку денвера
и осечки пока не было
может и вам это поможет есль есть старые установки
только вот наполнение скажем будет не полным или проще
старое наполнение


посмотрел в папке Webservers\Mysql много около 100 файлов db,event,host,time_zone и т.п. Все файлы имеют разрешение .myd, .frm, .CSV, myi.

тогда получается надо попробовать ещё восстановить всю папку Webservers\Mysql ?

Спустя 7 минут, 20 секунд (7.02.2011 - 21:14) YVSIK написал(а):
так раздели их по базам
скажем в этой паке есть стандартные базы такие
information_schema;
mysql;
и phpmyadmin;
все остальные вы создали сами
теперь разобраться какую и откуда вы её удалили
или так внимательно рассмотреть какие работают их исключить
оставшиеся восстанавливать или как там получитьсИ!

Спустя 8 минут, 4 секунды (7.02.2011 - 21:22) Guest2011 написал(а):
я полностю восстановил все файлы в папке, соответствующие базе данных auto2.
т.е. папку auto2 по адресу
C:\WebServers\usr\local\mysql-5.1\data\auto2

т.е. всю папку и её содержимое


YVSIK, из Вашего поста не понятно (т.е. я не понял) какие ещё могут быть взаимосвязи между моей папкой auto2 и ещё какими-то файлами/папками

Спустя 4 минуты, 4 секунды (7.02.2011 - 21:26) YVSIK написал(а):
вот путь :\usr\local\mysql-5.1\data\mysql
попробуй сюда посмотреть и чють выше
:\usr\local\mysql-5.1\data
сдесь увидиш свои базы
всё зависит где установлен сервер
так сервер ещё перезагрузить надо

Спустя 8 минут, 53 секунды (7.02.2011 - 21:35) twin написал(а):
Побились файлы видимо успели. Или при восстановлении. Ничего больше никуда не пишется, этой папки достаточно. Если там все целое.

Спустя 9 минут, 6 секунд (7.02.2011 - 21:44) Guest2011 написал(а):
Перезапустил сервер
Посмотрел. в этой папке всё как было так и осталось
в ней находятся папки mysql phpmyadmin auto2 и т.п.
непонятно что делать дальше.
и непонятно какая взаимосвязь между папкой, которую я восстановил auto2 и другими папками.

Цитата
Побились файлы видимо успели. Или при восстановлении. Ничего больше никуда не пишется, этой папки достаточно. Если там все целое.

Наверное так и есть

Посмотрел файл data.myd там всё содержимое наглядно понятно всё размечено как в было базе, придётся создать заново базу и вручную из файла переносить-копировать.
хорошо, что файл небольшой

Спустя 42 минуты, 43 секунды (7.02.2011 - 22:27) Guest2011 написал(а):
Правда местами четко видно, что данные побились, чётко видно совсем другая информация вперемешку с нужной wink.gif

Спустя 35 минут, 40 секунд (7.02.2011 - 23:03) Arni написал(а):
Аминь.

Цитата
придётся создать заново базу и вручную из файла переносить-копировать.

Кстати про файл, а можна пару строк посмотреть? Может не все так страшно, щас толпой парсер замутим и делов?

Спустя 4 часа, 17 минут, 41 секунда (8.02.2011 - 03:20) jetistyum написал(а):
а если так попробовать

CHECK TABLE `tablename`
REPAIR TABLE `tablename`

Спустя 10 часов, 11 минут, 31 секунда (8.02.2011 - 13:32) Guest2011 написал(а):
Цитата
а если так попробовать

CHECK TABLE  `tablename`
REPAIR TABLE  `tablename`


выдаёт ошибку 
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REPAIR TABLE `data`' at line 2


Цитата
Может не все так страшно, щас толпой парсер замутим и делов?


В таблице всего пару записей затёрто, но то что затёрто так затёрто, что наврядли востановишь.
Спасибо.

Спустя 14 часов, 40 минут, 38 секунд (9.02.2011 - 04:12) jetistyum написал(а):
по отдельности делал запросы? CHECK и REPAIR это два запроса
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.