Amazon RDS MySQL предоставляет простые способы импорта данных в БД и экспорта данных из БД. После того, как мы сможем успешно подключиться к базе данных MySQL, мы можем использовать инструменты CLI для запуска команд импорта и экспорта, чтобы получать данные из других источников в базу данных RDS и из нее. Ниже приведены сценарии, которые следует учитывать при выборе подхода к импорту данных в базу данных Amazon RDS — MySQL.
Из существующей базы данных MySQL
Существующая БД MySQL может присутствовать в помещении или в другом экземпляре EC2. Диаграмма того, что мы делаем, показана ниже.
Создание резервной копии из локальной базы данных
В качестве первого шага мы создадим резервную копию локальной базы данных, используя следующую команду.
mysqldump -u user -p[user_password] [database_name] > backupfile.sql
Создается файл с именем backupfile.sql, который содержит структуру таблицы вместе с данными, которые будут использоваться.
Хранение файла резервной копии в S3.
Загрузите файл резервной копии, созданный выше, в предварительно определенную корзину Amazon S3 в том же регионе, где находится целевая база данных RDS MySQL DB. Вы можете перейти по этой ссылке, чтобы узнать, как загрузить.
Импорт данных из Amazon S3 в базу данных RDS-MySQL
Вы можете использовать следующую команду Amazon CLI для импорта данных из S3 в MySQL DB.
aws rds restore-db-instance-from-s3 \ --allocated-storage 125 \ --db-instance-identifier tddbidentifier \ --db-instance-class db.m4.small \ --engine mysql \ --master-user-name masterawsuser \ --master-user-password masteruserpassword \ --s3-bucket-name tpbucket \ --s3-ingestion-role-arn arn:aws:iam::account-number:role/rolename \ --s3-prefix bucketprefix \ --source-engine mysql \ --source-engine-version 5.6.27
Из другого экземпляра RDS-MySQL
Могут быть сценарии, когда вы хотите, чтобы данные из существующей БД RDS MYSQL были перенесены в другую БД RDS MYSQL. Например, для создания БД аварийного восстановления или создания БД только для бизнес-отчетности и т. Д. В этом сценарии мы создаем реплики чтения, которые являются копией их исходной БД, а затем продвигаем эту реплику чтения в новый экземпляр БД. Они используются для предотвращения прямого тяжелого чтения из исходной базы данных, когда мы хотим скопировать данные.
создать реплику для чтения
aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --source-db-instance-identifier mydbinstance
Продвиньте реплику чтения в экземпляр БД
Теперь, когда у нас есть реплика, мы можем преобразовать ее в автономный экземпляр БД. Это послужит нашей конечной необходимости импортировать данные из o RDS — Mysql DB в новую. Следующая команда используется для завершения преобразования реплики чтения в экземпляр базы данных.
aws rds create-db-instance-read-replica \ --db-instance-identifier readreplica_name \ --region target_region_name --db-subnet-group-name subnet_name --source-db-instance-identifier arn:aws:rds:region_name:11323467889012:db:mysql_instance1
Из любой базы данных
Чтобы импортировать данные из любой другой базы данных в Amazon RDS — MySQL, мы должны использовать Amazon Data Migration Service, также называемый Amazon DMS. Он использует инструмент преобразования схемы для преобразования существующей базы данных в платформу MYSQL. Приведенная ниже диаграмма объясняет общий процесс. Также он работает по принципу репликации, описанному в предыдущем разделе.
Экспорт данных из MySQL
Экспорт данных из базы данных Amazon RDS Mysql — это прямой процесс, в котором он работает по тому же принципу репликации, который мы видели выше. Ниже приведены шаги для выполнения процесса экспорта.
- Запустите экземпляр MySQL, работающий вне Amazon RDS.
- Назначьте экземпляр базы данных MySQL источником репликации.
- Используйте mysqldump для переноса базы данных из экземпляра Amazon RDS в экземпляр, внешний по отношению к Amazon RDS.
Ниже приведен код для команды mysqldum