Как скопировать базу данных с помощью RDS
У меня есть экземпляр базы данных в RDS с двумя базами данных. Есть ли хороший способ использовать инструменты командной строки RDS для копирования одной базы данных в другую? Если нет, каков рекомендуемый способ сделать это?
Спасибо заранее.
Ответы
Ответ 1
Я бы использовал mysqldump
, чтобы получить таблицы, а затем mysql
, чтобы импортировать их.
Обновление 2014/07/08. В зависимости от того, что вы планируете делать здесь, другим решением сегодня является настройка репликации, а затем продвижение подчиненного устройства в качестве ведущего. Это, например, если вы хотите обновить версию/версию базы данных:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html
Если вы ищете внешнюю резервную копию, то также репликация:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Exporting.NonRDSRepl.html
RDS прошел долгий путь.
Ответ 2
Это не точное решение для OP, но если вам нужно всего лишь клонировать существующую базу данных для новой цели, это проще. Вы можете сделать снимок из исходного экземпляра RDS, а затем restore в новый экземпляр. Вы даже можете использовать веб-консоль.
Ответ 3
это зависит от того, какая база данных вы там размещаете - для SQL Server я использовал мастер миграции Azure Migration (бесплатно скачать из CodePlex).
Чтобы получить полную функциональность RDBMS, трюк заключается в использовании имени DNS вашего экземпляра SQL Server в мастере, но выберите "SQL Server v2008" (или, наконец, v2012 после того, как AWS RDS сделает экземпляры с 2012 доступными) и НЕ выбирайте → 'SQL Azure'. Я сделал короткий скринкаст на этом блоге .