Стратегия резервного копирования MySQL для сайтов с большим трафиком - PullRequest
1 голос
/ 25 марта 2011

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

У кого-нибудь есть предложение для лучшего способа подойти к этому?Перевести сайт в состояние временного обслуживания во время резервного копирования не вариант, так как целью является максимизация доступности (некоторые дампы sql занимают некоторое время).Одна идея, которая приходит в голову, состоит в том, чтобы запустить и основную, и подчиненную копии и завершить работу + резервное копирование подчиненной копии, оставив главную копию в процессе.Хотелось бы надеяться, что есть более простое решение - я бы предпочел не запускать подчиненную копию только для целей резервного копирования, за исключением случаев, когда это абсолютно необходимо.Есть предложения?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Две мысли:

  1. запустить раба. Если ничего другого, это дает вам теплый запас для вашего производственного трафика в случае сбоя. Из него также можно запускать отчеты и инструменты, освобождая циклы от вашего производственного сервера.
  2. зайдите в innodb и используйте mysqldump --single -action (см. Справочную страницу)

Удачи!

0 голосов
/ 01 апреля 2011

Я использую Percona Xtrabackup , который похож на InnoDB Hot Backup с большей функциональностью и распространяется бесплатно. Xtrabackup делает снимки без блокировки таблиц innodb и записывает информацию о текущем главном лог-файле и, если требуется, информацию о ведомом, если вы делаете резервную копию от ведомого.

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

...