Каков рекомендуемый способ сделать резервную копию базы данных MySQL/Amazon RDS в S3?

dba.stackexchange https://dba.stackexchange.com/questions/11396

Вопрос

У меня есть две цели для этого:

  1. Иметь резервную копию за пределами места в случае проблемы с широким регионом с веб -сервисами Amazon.
  2. Скопировать данные производства с производственного выставления счета на бета -биллинговый счет.

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

Я видел MySqldump и Xtrabackup (см. форма сообщение) упомянуто.

Я также видел более сложный процесс (документирован здесь)

  1. Новый RDS -сервер в исходной биллинговой учетной записи (PROD) вычеркнул недавнюю резервную копию.
  2. Развернут новый экземпляр EC2, который имеет доступ к серверу RDS на шаге 1.
  3. MySQldump используется для резервного копирования этой базы данных.
  4. Резервное копирование копируется в место за пределами места (S3?).
  5. В отдельной учетной записи и/или регионе завораживается свежий сервер RDS.
  6. Дамп базы данных импортируется.

Советы и предложения ценятся.

Это было полезно?

Решение

Рекомендуемый способ резервного копирования RDS с автоматические резервные копии а также Снимки БД. Анкет Снимки DB в основном такие же, как и снимки EBS, которые хранятся в S3 за кулисами, но доступны только в том же регионе.

Если вам нужна устойчивость к перекрестному региону (хороший план!), Невозможно восстановить ваши данные в другой регион не делая этого «трудного пути» из MySQldump. Ваши альтернативы-резервное копирование с использованием MySQldump (медленное и ужасное для любого набора данных разумного размера), или настроить собственный подчинен на основе EC2 в другом регионе и обратно, используя любой доступный метод (xtrabackup, снимки EBS и т. Д.). Тем не менее, тогда вы вернулись к управлению своими собственными экземплярами MySQL, так что вы можете полностью отказаться от RDS.

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

Другие советы

Я была такая же проблема. Моим решением было написать простой скрипт. Анкет Однако он ограничен одним регионом.

Вот сценарий, о котором идет речь:

#!/bin/bash
NOWDATE=`date +%Y-%m-%d`
BACKUPNAME="$NOWDATE.sql.gz"

echo "Creating backup of database finances to $BACKUPNAME"
mysqldump –user=user –password=password database_name | gzip -9 > $BACKUPNAME

echo "Succesfully created database backup"

echo "Uploading backup to Amazon S3 bucket…"
s3cmd put $BACKUPNAME s3://path/to/file/$BACKUPNAME

echo "Successfully uploaded backup to S3"

echo "Deleting backup file…"
rm $BACKUPNAME

echo "Done"

AWS RDS теперь поддерживает перекрестную региону и перекрестный аккунт Копирование снимков что позволит вам выполнить свои цели просто с помощью RDS.

Вам все еще нужно использовать метод сценария дамп, чтобы получить резервное копирование на S3 на данный момент. Способность использовать S3-IA или Glacier была бы хорошей с точки зрения экономии затрат, поскольку затраты на резервное копирование RDS соответствуют стандарту S3 или выше (варьируются в зависимости от DB).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top