Amazon RDS: importación de datos MariaDB

Amazon RDS MariaDB proporciona formas sencillas de importar datos a una base de datos y exportar datos desde una base de datos. Una vez que podamos conectarnos con éxito a la base de datos MariaDB, podemos usar las herramientas CLI para ejecutar comandos de importación y exportación para obtener datos de otras fuentes hacia y desde la base de datos RDS.

A continuación, se muestran los escenarios a considerar al elegir un enfoque para importar datos a una base de datos de Amazon RDS-MariaDB.

Desde una base de datos MariaDB existente

Una MariaDB existente puede estar presente localmente o en otra instancia EC2. A continuación se muestra un esquema de lo que estamos haciendo.

    on_premise.jpg

Crear una copia de seguridad a partir de una base de datos local

Como primer paso, creamos una copia de seguridad de la base de datos local usando el siguiente comando. MariaDB, al ser un clon de MySQL, puede usar casi todos los mismos comandos que MySQL.

 
# mysqldump -u user -p[user_password] [database_name] > backupfile.sql

Se crea un archivo llamado backupfile.sql que contiene la estructura de la tabla junto con los datos que se utilizarán.

Guardar el archivo de respaldo en S3.

Cargue el archivo de copia de seguridad creado anteriormente en un bucket de Amazon S3 predefinido en la misma región que la base de datos RDS MariaDB de destino. Puede seguir este enlace para saber cómo descargar.

Importación de datos de Amazon S3 a la base de datos RDS-MariaDB

Puede utilizar el siguiente comando de la CLI de Amazon para importar datos de S3 a la base de datos 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

Desde otra instancia de RDS- MariaDB

Puede haber escenarios en los que desee que los datos de una base de datos RDS MariaDB existente se migren a otra RDS MariaDB. Por ejemplo, para crear una base de datos de recuperación ante desastres, o crear una base de datos de informes comerciales, etc. En tal escenario, creamos réplicas de lectura que son una copia de su base de datos original y luego enviamos esa réplica de lectura a la nueva instancia de base de datos. Se utilizan para evitar lecturas pesadas directas desde la base de datos fuente original cuando queremos copiar datos.

crear una réplica de lectura

aws rds create-db-instance-read-replica 
    --db-instance-identifier myreadreplica 
    --source-db-instance-identifier mydbinstance

Promocionar réplica de lectura a instancia de base de datos

Ahora que tenemos una réplica, podemos promoverla a una instancia de base de datos independiente. Esto servirá para nuestra necesidad final de importar datos de la base de datos RDS – MariaDB a la nueva. El siguiente comando se utiliza para completar la promoción de una réplica de lectura a una instancia de base de datos.

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 

De cualquier base de datos

Para importar datos de cualquier otra base de datos a Amazon RDS – MariaDB, tenemos que utilizar el Servicio de migración de datos de Amazon, también llamado Amazon DMS. Utiliza una herramienta de conversión de esquemas para migrar una base de datos existente a la plataforma MYSQL. El diagrama siguiente explica el proceso general. También funciona con el mismo principio de replicación que se describe en la sección anterior.

    amazon_dms.jpg

Exportando datos de MariaDB

Exportar datos de Amazon RDS Mysql DB es un proceso sencillo en el que funciona de la misma manera que vimos anteriormente para la replicación. Los siguientes son los pasos para completar el proceso de exportación.

  • Inicie una instancia de MariaDB que se ejecute fuera de Amazon RDS.
  • Designe la instancia de base de datos MariaDB como fuente de replicación.
  • Utilice mysqldump para transferir su base de datos desde una instancia de Amazon RDS a una instancia externa a Amazon RDS.

A continuación se muestra el código de comando mysqldump para transferir datos.

 
mysqldump -h RDS instance endpoint 
    -u user 
    -p password 
    --port=3306 
    --single-transaction 
    --routines 
    --triggers 
    --databases  database database2 
    --compress  
    --compact | mysql 
        -h MariaDB host 
        -u master user 
        -p password 
        --port 3306 

🚫