Подтвердить что ты не робот

Как восстановить только удаленные строки в mysql?

Можно ли восстановить таблицу в последний раз с данными, если все данные были удалены случайно.

4b9b3361

Ответ 1

Существует еще одно решение: если на вашем сервере есть бинарные журналы, вы можете использовать mysqlbinlog

сгенерировать sql файл с ним

mysqlbinlog binary_log_file > query_log.sql

затем найдите недостающие строки. Если у вас его нет, другого решения нет. Сделайте резервные копии в следующий раз.

Ответ 2

Сорт. Используя phpMyAdmin, я просто удалил одну строку слишком много. Но я поймал его, прежде чем продолжить, и имел большинство данных из сообщения подтверждения удаления. Я смог восстановить запись. Но сообщение подтверждения усело часть текстового комментария.

Кто-то, более осведомленный, чем я, о phpMyAdmin, может знать о настройке, чтобы вы могли получить более полное эхо подтверждения подтверждения удаления. Если доступно полное сообщение для удаления, если вы замедляете и ломаете свою ошибку, вы можете восстановить всю запись.

(PS Это приложение также отправляет электронное сообщение, которое создает запись. Если у клиента есть копия, я смогу полностью восстановить запись)

Ответ 3

Как отметил Митч, лучшим методом является поддержка данных вверх.

Однако, возможно, возможно частично извлечь потерянные данные в зависимости от ситуации или используемого сервера БД. В большинстве случаев вам не повезло, если у вас нет резервной копии.

Ответ 4

Извините, но это не представляется возможным, если вы ранее не сделали резервный файл.

EDIT: На самом деле это возможно, но это очень сложно, и вы не должны думать об этом, если данные не были действительно важны. Вы видите: когда данные удаляются с компьютера, он все еще остается на том же месте на диске, только его сектора отмечены как пустые. Таким образом, данные остаются нетронутыми, за исключением случаев, когда они перезаписываются новыми данными. Существует несколько программ, предназначенных для этой цели, и есть компании, специализирующиеся на восстановлении данных, хотя они довольно дороги.

Ответ 5

Нет, это невозможно. Единственным решением будет регулярное резервное копирование. Это очень важно.

Ответ 6

Для таблиц InnoDB В Percona есть инструмент восстановления, который может помочь. Это далеко не безупречно или идеально, и насколько быстро вы остановили свой сервер MySQL после случайного удаления. Если вы достаточно быстр, вы можете восстановить довольно много данных, но восстановить все данные почти невозможно.

Конечно, правильные ежедневные резервные копии, бинги и, возможно, ведомое устройство репликации (которое не поможет случайным ударам, но помогает в случае отказа оборудования), но этот инструмент может помочь вам сохранить как как можно больше данных, когда у вас их еще нет.

Ответ 7

К сожалению, нет. Если вы запускали сервер в конфигурации по умолчанию, попробуйте получить резервные копии (у вас есть резервные копии, верно?) - как правило, база данных не хранит предыдущие версии ваших данных или изменения изменений: только текущее состояние.

(В качестве альтернативы, если вы удалили данные через пользовательский интерфейс, вполне возможно, что внешний интерфейс фактически не выдаёт DELETE: во многих таблицах есть поле is_deleted или подобное, и это просто переключается на Обратите внимание, что это "мягкое удаление", реализованное во внешнем приложении - данные фактически не удаляются в таких случаях, если вы действительно выпустили DELETE, TRUNCATE или аналогичную команду SQL, это неприменимо. )

Ответ 8

Если вы используете таблицы MyISAM, вы можете восстановить все данные, которые вы удалили, просто

открыть файл: mysql/data/[your_db]/[your_table].MYD

с любым текстовым редактором