Как сделать резервную копию базы данных MySQL, не замедляя работу приложения? - PullRequest
2 голосов
/ 04 марта 2012

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

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

Ответы [ 2 ]

2 голосов
/ 04 марта 2012

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

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

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

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

2 голосов
/ 04 марта 2012

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

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

...