2013-08-27 7 views
1

У меня есть огромная база данных MySQL InnoDB (около 15 строк Go и 100M) на сервере Debian. Я должен сохранять свою базу данных каждые два часа на другом сервере, но не влияя на производительность. Я посмотрел на репликацию MySQL, но это не соответствует тому факту, что я ищу, потому что я также хочу защитить проблемы, которые может вызвать приложение.Резервное копирование часто огромной базы данных MySQL

Что было бы лучшим способом справиться с этим?

спасибо!

+0

вы говорите, что приложение может (и иногда) создает ошибочные данные? –

+0

Проверьте mysqlibinlog. Я не слишком разбираюсь в этом процессе, но в основном вы можете настроить использование журналов репликации для восстановления БД. Таким образом, в основном, вы просто периодически создаете резервные копии журналов и используете их для восстановления базы данных по мере необходимости. –

ответ

0

Думаю, вам нужны инкрементные резервные копии.

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

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

http://www.percona.com/doc/percona-xtrabackup/howtos/recipes_ibkx_inc.html

0

Вы посмотрели на сценарий, который использует mysqldump для удаления содержимого БД, передачи его в резервную БД (его подключение к SSH будет работать) и вставляет его через командную строку?

Есть варианты, так что mysqldump не будет блокировать таблицы и поэтому не будет слишком сильно ухудшать производительность.

Смежные вопросы