Могу ли я восстановить резервную копию, если таблица повреждена?

StackOverflow https://stackoverflow.com/questions/1032543

Вопрос

Я надеюсь, что это будет простой ответ для одного из вас.

У нас есть PHP / MySQL, работающий на одноплатном компьютере для продукта, который будет инструментом администрирования через Интернет. Этот продукт будет приложением «установи и забудь».

Одной из наших проблем (является ли она действительной) является повреждение таблицы / базы данных MySQL.

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

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

Вопрос: если таблица MySQL повреждена, можем ли мы выполнить восстановление из резервной копии?

Я полагаю, что последующий вопрос будет, если наша логика выше верна. Исправит ли резервное восстановление проблему повреждения таблицы?

Я знаю, это звучит глупо, но мы не очень знакомы с бэкэндом MySQL. Мы опасаемся, что если база данных (или таблица) будет каким-либо образом повреждена, это также будет препятствовать восстановлению резервной копии.

Могут ли некоторые из вас взвесить это?

Большое спасибо.

Это было полезно?

Решение

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

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

Другие советы

Я думаю, что даже до того, как вы подумаете об этом, вам нужно принять меры, чтобы гарантировать, что поврежденные таблицы никогда не будут резервироваться. Потому что, если вы восстанавливаете резервную копию и сама резервная копия оказывается поврежденной, вы вернетесь к тому, с чего начали.

Какой механизм хранения вы используете?

Надо подумать; В зависимости от структуры вашей базы данных восстановление одной таблицы из резервной копии может вызвать проблемы со ссылочной целостностью.

Думаю, в этом и заключается смысл резервирования?

Кроме того, если таблица уже повреждена, что может быть хуже, если вы попытаетесь ее восстановить?

Я говорю, пойти на это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top