2012-03-03 4 views
2

Мне было интересно о нашей стратегии резервного копирования базы данных: прямо сейчас наши системные администраторы резервируют нашу базу данных каждые 8 ​​часов. Я действительно не знаю, как это сделать, но пока выполняется резервное копирование, время отклика приложения проходит через крышу. Поэтому каждые 8 ​​часов приложение работает медленно, а иногда даже вызывает ошибки.Как сделать резервную копию базы данных MySQL без замедления приложения?

Есть ли способ создать резервную копию базы данных MySQL с таблицами MyISAM без замедления кода приложения и по-прежнему получать согласованную резервную копию?

+0

Почему не ваш администратор sys автоматизирует его с помощью cron и делает это во время пиковых часов –

+0

Это, конечно, автоматизировано. «Без пиковых часов» нет, и даже если бы это было, один раз в день было бы недостаточно часто. Даже каждые 8 ​​часов это проблема, когда все ломается. – janpio

ответ

2

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

Возможно, вы могли бы исследовать, как они это делают сегодня, если они просто делают дампы mysql, а затем просят их переосмыслить.

Серверы MYSQL могут запускаться как ведущие, так и ведомые серверы. В режиме master-> slave один сервер извлекает все вставки и обновления mysql (master), и все подчиненные служат только для выбора. мастер обновляет ведомые устройства. Тогда вы делаете резервную копию с подчиненного устройства.

Мастер не знает, что происходит резервное копирование, и оно вообще не замедляет его. зайдите в dev.mysql.com/doc/refman/5.0/en/replication.html для получения дополнительной информации о репликации.

+0

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

+1

Серверы MYSQL можно запускать как ведущие, так и подчиненные серверы. В режиме master-> slave один сервер извлекает все вставки и обновления mysql (master), и все подчиненные служат только для выбора. мастер обновляет ведомые устройства. То, что вы делаете, это просто сделать резервную копию от подчиненного устройства. Мастер не знает, что происходит резервное копирование, и оно вообще не замедляет его. Ознакомьтесь с http://dev.mysql.com/doc/refman/5.0/en/replication.html для получения дополнительной информации о репликации. – Snowflow

+0

Спасибо за объяснение. Звучит довольно радужно по сравнению с нашей текущей настройкой, надеюсь, что системные администраторы будут так же нравиться, как и я. Должен ли подчиненный быть дополнительным ящиком, он может работать на одном сервере? – janpio

2

После не реализовали это еще и сам я просто не могу указать вам в [возможно] правильном направлении: http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

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

+0

Это, похоже, направление. Репликация на ведомых устройствах, которые затем используются для резервного копирования. – janpio

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