Amazon RDS MariaDB предоставляет простые способы импорта данных в БД и экспорта данных из БД. После того, как мы сможем успешно подключиться к базе данных MariaDB, мы можем использовать инструменты CLI для запуска команд импорта и экспорта, чтобы получать данные из других источников в базу данных RDS и из нее.
Ниже приведены сценарии, которые следует учитывать при выборе подхода к импорту данных в базу данных Amazon RDS-MariaDB.
Из существующей базы данных MariaDB
Существующая MariaDB может присутствовать в помещении или в другом экземпляре EC2. Диаграмма того, что мы делаем, показана ниже.
Создание резервной копии из локальной базы данных
В качестве первого шага мы создадим резервную копию локальной базы данных, используя следующую команду. MariaDB, являясь клоном MySQL, может использовать почти все те же команды, что и MySQL.
# mysqldump -u user -p[user_password] [database_name] > backupfile.sql
Создается файл с именем backupfile.sql, который содержит структуру таблицы вместе с данными, которые будут использоваться.
Хранение файла резервной копии в S3.
Загрузите созданный выше файл резервной копии в предварительно определенную корзину Amazon S3 в том же регионе, где находится целевая база данных RDS MariaDB. Вы можете перейти по этой ссылке, чтобы узнать, как загрузить.
Импорт данных из Amazon S3 в базу данных RDS-MariaDB
Вы можете использовать следующую команду Amazon CLI для импорта данных из S3 в базу данных MariaDB.
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 — MariaDB
Могут быть сценарии, когда вы хотите, чтобы данные из существующей RDS MariaDB DB были перенесены в другую RDS MariaDB. Например, для создания БД аварийного восстановления или создания БД только для бизнес-отчетности и т. Д. В этом сценарии мы создаем реплики чтения, которые являются копией их исходной БД, а затем продвигаем эту реплику чтения в новый экземпляр БД. Они используются для предотвращения прямого тяжелого чтения из исходной базы данных, когда мы хотим скопировать данные.
создать реплику для чтения
aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --source-db-instance-identifier mydbinstance
Продвиньте реплику чтения в экземпляр БД
Теперь, когда у нас есть реплика, мы можем преобразовать ее в автономный экземпляр БД. Это послужит нашей конечной необходимости импортировать данные из базы данных RDS — MariaDB в новую. Следующая команда используется для завершения преобразования реплики чтения в экземпляр базы данных.
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 — MariaDB, мы должны использовать Amazon Data Migration Service, также называемый Amazon DMS. Он использует инструмент преобразования схемы для преобразования существующей базы данных в платформу MYSQL. Приведенная ниже диаграмма объясняет общий процесс. Также он работает по принципу репликации, описанному в предыдущем разделе.
Экспорт данных из MariaDB
Экспорт данных из базы данных Amazon RDS Mysql — это прямой процесс, в котором он работает по тому же принципу репликации, который мы видели выше. Ниже приведены шаги для выполнения процесса экспорта.
- Запустите экземпляр MariaDB, работающий вне Amazon RDS.
- Назначьте экземпляр базы данных MariaDB источником репликации.
- Используйте mysqldump для переноса базы данных из экземпляра Amazon RDS в экземпляр, внешний по отношению к Amazon RDS.
Ниже приведен код команды mysqldump для передачи данных.