

# Migración de datos desde una instantánea de base de datos de MySQL a una instancia de base de datos MariaDB
<a name="USER_Migrate_MariaDB"></a>

Puede migrar una instantánea de base de datos de RDS for MySQL a una nueva instancia de base de datos en la que se ejecuta MariaDB mediante la Consola de administración de AWS, la AWS CLI o la API de Amazon RDS. Debe usar la instantánea de base de datos creada desde una instancia de base de datos de Amazon RDS que ejecute MySQL 5.6 o 5.7. Para aprender a crear una instantánea de base de datos RDS for MYSQL, consulte [Creación de una instantánea de base de datos para una instancia de base de datos single-AZ para Amazon RDS](USER_CreateSnapshot.md).

La migración de la instantánea no afecta a la instancia de base de datos original desde la que se tomó la instantánea. Puede probar y validar la nueva instancia de base de datos antes de desviar el tráfico a ella como reemplazo de la instancia de base de datos original.

Después de migrar de MySQL a MariaDB, la instancia de base de datos MariaDB se asocia con el grupo de parámetros de base de datos predeterminado y el grupo de opciones correspondiente. Después de restaurar la instantánea de base de datos, puede asociar un grupo de parámetros de base de datos personalizado con la nueva instancia de base de datos. Sin embargo, un grupo de parámetros de MariaDB tiene un conjunto diferente de variables de sistema configurables. Para obtener información acerca de las diferencias entre las variables de sistema de MySQL y MariaDB, consulte [ System Variable Differences between MariaDB and MySQL](https://mariadb.com/kb/en/system-variable-differences-between-mariadb-and-mysql/) (Diferencias de la variable de sistema entre MariaDB y MySQL). Para obtener información acerca de los grupos de parámetros de base de datos, consulte [Grupos de parámetros para Amazon RDS](USER_WorkingWithParamGroups.md). Para obtener información acerca de los grupos de opciones, consulte [Trabajo con grupos de opciones](USER_WorkingWithOptionGroups.md). 

## Realización de la migración
<a name="USER_Migrate_MariaDB.Migrating"></a>

Se puede migrar una instantánea de base de datos de RDS for MySQL a una nueva instancia de base de datos de MariaDB mediante la Consola de administración de AWS, la AWS CLI o la API de RDS.

### Consola
<a name="USER_Migrate_MariaDB.CON"></a>

**Para migrar una instantánea de base de datos de MySQL a una instancia de base de datos MariaDB**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Snapshots (Instantáneas)** y, a continuación, seleccione la instantánea de base de datos MySQL que desea migrar. 

1. En **Actions** (Acciones), elija **Migrate Snapshot** (Migrar instantánea). Aparece la página **Migrate Database** (Migrar base de datos).

1. En **Migrate to DB Engine (Migrar a motor de base de datos)**, elija **mariadb**.

   Amazon RDS selecciona la **DB engine version** (Versión del motor de base de datos) automáticamente. No se puede cambiar la versión del motor de base de datos.  
![\[La página Migrar base de datos para migrar de MySQL a MariaDB en la consola de Amazon RDS.\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/MigrateMariaDB.png)

1. En el resto de secciones, especifique los ajustes de configuración de la instancia de base de datos. Para obtener más información acerca de cada ajuste, consulte [Configuración de instancias de base de datos](USER_CreateDBInstance.Settings.md). 

1. Elija **Migrate (Migrar)**.

### AWS CLI
<a name="USER_Migrate_MariaDB.CLI"></a>

Para migrar datos desde una instantánea de base de datos de MySQL a una instancia de base de datos de MariaDB, ejecute el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) de la AWS CLI con las siguientes opciones:
+ --db-instance-identifier: nombre de la instancia de base de datos que se debe crear a partir de la instantánea de base de datos.
+ --db-snapshot-identifier: identificador de la instantánea de base de datos desde la que se debe restaurar.
+ --engine: motor de base de datos que se va a usar para la nueva instancia.

**Example**  
Para Linux, macOS o Unix:  

```
1. aws rds restore-db-instance-from-db-snapshot \
2.     --db-instance-identifier newmariadbinstance \
3.     --db-snapshot-identifier mysqlsnapshot \
4.     --engine mariadb
```
Para Windows:  

```
1. aws rds restore-db-instance-from-db-snapshot ^
2.     --db-instance-identifier newmariadbinstance ^
3.     --db-snapshot-identifier mysqlsnapshot ^
4.     --engine mariadb
```

### API
<a name="USER_Migrate_MariaDB.API"></a>

Para migrar los datos desde una instantánea de base de datos de MySQL a una instancia de base de datos de MariaDB, llame a la operación [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) de la API de Amazon RDS.

## Incompatibilidades entre MariaDB y MySQL
<a name="USER_Migrate_MariaDB.Incompatibilities"></a>

Entre las incompatibilidades entre MySQL y MariaDB se incluyen las siguientes:
+ No puede migrar una instantánea de base de datos creada con MySQL 8.0 a MariaDB.
+ Si la base de datos de MySQL de origen utiliza un hash de contraseña SHA256, asegúrese de restablecer las contraseñas de usuario con hash SHA256 antes de conectarse a la base de datos MariaDB. El siguiente código muestra cómo restablecer una contraseña con hash SHA256.

  ```
  SET old_passwords = 0;
  UPDATE mysql.user SET plugin = 'mysql_native_password',
  Password = PASSWORD('new_password')
  WHERE (User, Host) = ('master_user_name', %);
  FLUSH PRIVILEGES;
  ```
+ Si su cuenta de usuario maestro de RDS utiliza el hash de contraseña SHA-256, asegúrese de restablecer la contraseña mediante la Consola de administración de AWS, el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) de la AWS CLI o la operación [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) de la API de RDS. Para obtener más información sobre la modificación de una instancia de base de datos, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 
+ MariaDB no admite el complemento Memcached. Sin embargo, los datos que utiliza el complemento Memcached se almacenan como tablas InnoDB. Después de migrar una instantánea de base de datos de MySQL, puede obtener acceso a los datos empleados por el complemento Memcached usando SQL. Para obtener más información acerca de la base de datos innodb\$1memcache, consulte [InnoDB memcached Plugin Internals](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached-internals.html).