1. Glosario/

mysqldump

MySQL dump

mysqldump es la utilidad de backup lógico incluida de serie en cada instalación de MySQL y MariaDB. Produce un archivo SQL que contiene todas las instrucciones (CREATE TABLE, INSERT) necesarias para reconstruir completamente el esquema y los datos de una base de datos.

Cómo funciona #

mysqldump se conecta al servidor MySQL y lee las tablas una por una, generando las instrucciones SQL correspondientes como salida. La operación es rigurosamente single-threaded: una tabla tras otra, una fila tras otra. El archivo producido puede comprimirse externamente (gzip, zstd) pero la herramienta en sí no ofrece compresión nativa.

Con la opción --single-transaction, el dump ocurre dentro de una transacción con isolation level REPEATABLE READ, que garantiza un snapshot consistente en tablas InnoDB sin adquirir locks sobre las escrituras.

Para qué sirve #

mysqldump es la herramienta estándar para:

  • Backup lógico de bases de datos pequeñas y medianas
  • Migraciones entre versiones diferentes de MySQL
  • Exportación de tablas individuales o bases de datos para transferencia entre entornos
  • Creación de dumps legibles e inspeccionables manualmente

Cuándo se convierte en problema #

En bases de datos por encima de 10-15 GB, el dump single-threaded se convierte en un cuello de botella. Una base de datos de 60 GB puede requerir 3-4 horas de dump y otras tantas de restore. La falta de paralelismo es la limitación estructural: no hay forma de acelerar el proceso si no es pasando a herramientas como mydumper.