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

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

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

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

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

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

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

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

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

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

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

Ответы [ 4 ]

1 голос
/ 23 июня 2009

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

1 голос
/ 23 июня 2009

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

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

1 голос
/ 23 июня 2009

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

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

0 голосов
/ 23 июня 2009

Я думаю, в этом весь смысл иметь резервную копию, не так ли?

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

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

...