2013-11-29 3 views
5

У меня есть база данных mysql на Amazon RDS (около 600 ГБ данных) Мне нужно переместить ее домой на наши локальные выделенные серверы, но я не знаю с чего начать. Каждый раз, когда я пытаюсь инициализировать sqldump, он зависает, есть ли способ переместить его на S3? возможно, даже разбивая его на более мелкие части перед началом загрузки?Экспорт огромной базы данных из Amazon RDS в локальный mysql

Как бы вы перешли на 600-битную базу данных mysql?

+0

Попробуйте 'mysqldump --single-transaction' –

+0

Я сам боролся с этим (с RDS/SQL Server) - aws действительно нужно предоставить возможность резервного копирования и восстановления на S3, но насколько я знаю, t –

+0

Можете ли вы уточнить, что вы подразумеваете под «замораживанием»? Что это?" Вы пытаетесь перенести резервное копирование непосредственно на локальный сервер или сначала сохранить его в локальном сыром файле sql? Какова последовательность команд, которые вы используете? –

ответ

-1

Вы пытались использовать сценарий innobackupex? Это позволяет запускать текущую базу данных (горячее резервное копирование) и окончательное резервное копирование tar | gzip, таким образом, вы можете получить меньший файл. Работает только с file_per_table=1

Если у вас есть время простоя для перемещения базы данных, вы также можете попытаться оптимизировать таблицы, чтобы вернуть некоторое пространство (особенно если вы сделали много удалений).

Также вы можете подумать о том, чтобы избавиться от некоторых данных: журналов, архивов и т. Д. И переместить их позже.

+1

Innobackupex (XtraBackup) не работает с RDS. Он читает табличные пространства напрямую, и они недоступны в RDS. –

1

Во всяком случае, это всего лишь очень короткий ответ.

Если данные такие большие, я бы предложил скопировать моментальный снимок RDS на S3, как объяснено here.

+0

импорт/экспорт, похоже, не поддерживает RDS, я не прав? – riffraff

+1

@riffraff Обновлен мой ответ. –

+0

спасибо, оценено – riffraff

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