

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# mysqldump y mysqlpump
<a name="mysqldump-and-mysqlpump"></a>

[mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) y [mysqlpump](https://dev.mysql.com/doc/refman/8.0/en/mysqlpump.html) son herramientas de copia de seguridad de bases de datos nativas para MySQL. MariaDB es compatible con mysqldump, pero no con mysqlpump. Ambas herramientas crean copias de seguridad lógicas y forman parte de los programas cliente de MySQL. mysqldump admite el procesamiento de un solo subproceso. mysqlpump admite el procesamiento paralelo de bases de datos y objetos en las bases de datos para acelerar el proceso de volcado. Se introdujo en la versión 5.7.8 de MySQL. mysqlpump se eliminó en la versión 8.4 de MySQL.

En el diagrama siguiente se muestran los pasos generales que implica migrar una base de datos con un archivo de copia de seguridad de mysqldump o mysqlpump.



![Diagrama que muestra la migración de un archivo de respaldo de mysqldump o mysqlpump y su restauración en una instancia de base de datos. AWS](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/migration-large-mysql-mariadb-databases/images/mysqldump-mysqlpump-migration-aws.png)


A continuación, se muestran los pasos para utilizar mysqldump o mysqlpump para migrar una base de datos a la Nube de AWS.

1. Instale MySQL Shell en el servidor en las instalaciones. Para ver las instrucciones, consulte [Installing MySQL Shell](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-install-linux-quick.html) en la documentación de MySQL. Esto instala mysqldump y mysqlpump.

1. Con mysqldump o mysqlpump, cree una copia de seguridad de la base de datos de origen en las instalaciones. Para obtener instrucciones, consulte [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) and [mysqlpump](https://dev.mysql.com/doc/refman/8.0/en/mysqlpump.html) en la documentación de MySQL, o consulte [Making Backups with mysqldump](https://mariadb.com/kb/en/making-backups-with-mysqldump/) en la documentación de MariaDB. Para más información sobre la invocación de programas de MySQL y la especificación de opciones, consulte [Using MySQL programs](https://dev.mysql.com/doc/refman/8.0/en/programs-using.html).

1. Mueva el archivo de respaldo a una instancia EC2 de la siguiente manera: Nube de AWS 

   **Método** **3A**: monte un sistema de archivos [Amazon FSx](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-file-shares.html) [o Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html) en el servidor local que ejecuta la instancia de base de datos. Puede usar AWS Direct Connect o Site-to-Site VPN para establecer la conexión. Puede hacer una copia de seguridad de la base de datos de manera directa en el recurso compartido de archivos montado o puede hacer la copia de seguridad en dos pasos: haga una copia de seguridad de la base de datos en un sistema de archivos local y, a continuación, cárguela en el volumen de FSx o EFS montado. A continuación, monte el sistema de archivos de Amazon FSx o Amazon EFS, que también está montado en el servidor en las instalaciones, en una instancia de EC2.

   **Método 3B**: utilice el AWS CLI AWS SDK o la API REST de Amazon S3 para mover directamente el archivo de respaldo del servidor local a un bucket de S3. Si el depósito S3 de destino se encuentra en un Región de AWS lugar alejado del centro de datos, puede utilizar [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html) para transferir el archivo con mayor rapidez. Utilice el sistema de archivos [s3fs-fuse](https://github.com/s3fs-fuse/s3fs-fuse) para montar el bucket S3 en la instancia de EC2.

   **Enfoque 3C**: instale el agente de AWS DataSync en el centro de datos en las instalaciones y utilice [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html) para mover el archivo de copia de seguridad a un bucket de Amazon S3. Utilice el sistema de archivos [s3fs-fuse](https://github.com/s3fs-fuse/s3fs-fuse) para montar el bucket S3 en la instancia de EC2.
**nota**  
También puede utilizar Amazon S3 File Gateway para transferir los archivos de copia de seguridad de una base de datos grande a un bucket de S3 en la Nube de AWS. Para obtener más información, consulte la sección [Uso de Amazon S3 File Gateway para transferir archivos de copia de seguridad](amazon-s3-file-gateway.md) de esta guía.

1. Utilice el método de restauración nativo para restaurar la copia de seguridad en la base de datos de destino. Para obtener instrucciones, consulte [Reloading SQL-Format Backups](https://dev.mysql.com/doc/refman/8.0/en/reloading-sql-format-dumps.html) en la documentación de MySQL o consulte [Restoring Data from Dump Files](https://mariadb.com/kb/en/restoring-data-from-dump-files/) en la documentación de MariaDB.

1. (Opcional) Puede configurar la replicación entre la base de datos de origen y la instancia de base de datos de destino. Puede utilizar la replicación del registro binario (binlog) para reducir el tiempo de inactividad. Para obtener más información, consulte los siguientes temas:
   + [Setting the replication source configuration](https://dev.mysql.com/doc/refman/5.7/en/replication-howto-masterbaseconfig.html) en la documentación de MySQL
   + Para Amazon Aurora, consulte lo siguiente:
     + [Sincronización del clúster de base de datos de Amazon Aurora MySQL con la base de datos MySQL mediante replicación](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.RepSync) en la documentación de Aurora
     + [Uso de la replicación de registro binario en Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html) en la documentación de Aurora
   + Para Amazon RDS, consulte lo siguiente:
     + [Uso de la replicación de MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.html) en la documentación de Amazon RDS
     + [Uso de la replicación de MariaDB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MariaDB.Replication.html) en la documentación de Amazon RDS
   + Para Amazon EC2, consulte lo siguiente:
     + [Setting Up Binary Log File Position Based Replication](https://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication-howto.html) en la documentación de MySQL
     + [Setting Up Replicas](https://dev.mysql.com/doc/refman/8.0/en/replication-setup-replicas.html) en la documentación de MySQL
     + [Setting Up Replication](https://mariadb.com/kb/en/setting-up-replication/) en la documentación de MariaDB

## Ventajas
<a name="advantages-mysqlpump-mysqldump"></a>
+ mysqldump y mysqlpump se incluyen en la instalación de MySQL Server
+ Los archivos de copia de seguridad que generan estas herramientas están en un formato más legible.
+ Antes de restaurar el archivo de copia de seguridad, puede modificar el archivo .sql resultante mediante un editor de texto estándar.
+ Puede hacer una copia de seguridad de una tabla, base de datos o incluso de una selección de datos concreta.
+ mysqldump y mysqlpump son independientes de la arquitectura de la máquina.

## Limitaciones
<a name="limitations-mysqlpump-mysqldump"></a>
+ mysqldump es un proceso de copias de seguridad de un solo subproceso. El rendimiento al hacer una copia de seguridad es bueno para bases de datos pequeñas, pero puede resultar ineficiente cuando el tamaño de la copia de seguridad es superior a 10 GB.
+ Los archivos de copia de seguridad en formato lógico son voluminosos, sobre todo cuando se guardan como texto, y suelen tardar en crearse y restaurarse.
+ La restauración de los datos puede resultar lenta porque volver a aplicar las sentencias SQL en la instancia de base de datos de destino implica un procesamiento intensivo del disco I/O y la CPU para su inserción, creación de índices y aplicación de las restricciones de integridad referencial.
+ La utilidad mysqlpump no es compatible con las versiones de MySQL anteriores a la 5.7.8 ni a las versiones 8.4 y posteriores.
+ De manera predeterminada, mysqlpump no hace copias de seguridad de las bases de datos del sistema, por ejemplo, `performance_schema` o `sys`. Para hacer una copia de seguridad de una parte de la base de datos del sistema, asígnele un nombre explícito en la línea de comandos.
+ mysqldump no hace copias de seguridad de las instrucciones `CREATE TABLESPACE` de InnoDB

**nota**  
Las copias de seguridad de las instrucciones CREATE TABLESPACE y las bases de datos del sistema solo son útiles cuando se restauran las copias de seguridad de las bases de datos de MySQL o MariaDB en una instancia de EC2. Estas copias de seguridad no se utilizan para Amazon RDS ni Aurora.

## Prácticas recomendadas
<a name="best-practices-mysqlpump-mysqldump"></a>
+ Cuando restaure la copia de seguridad de la base de datos, desactive las comprobaciones clave, por ejemplo `FOREIGN_KEY_CHECKS`, de la sesión en la base de datos de destino. Esto aumenta la velocidad de restauración.
+ Asegúrese de que el usuario de la base de datos tenga los [privilegios](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html) suficientes para crear y restaurar la copia de seguridad.