Backups de MySQL o MariaDB con mysqldump

Una vez que hemos creado una base de datos y agregado registros, esa información cobra mucho valor. Además de nuestro esfuerzo, la importancia de estos datos se puede resaltar al consider qué sucedería si los perdemos. Por eso, es esencial que sepamos cómo realizar backups de MySQL o MariaDB de manera periódica.

Backups de MySQL o MariaDB

Tanto MySQL como MariaDB incluyen dos herramientas sumamente útiles para realizar y restaurar backups: mysqldump y mysqlrestore. El aprender a utilizarlas nos ayudará a realizar copias de respaldo de una manera muy fácil.

Sin embargo, antes de comenzar agregaremos algunos registros más a tabla_alumnos. La razón es que hacer un backup de un solo registro no tiene mucho sentido.

INSERT INTO tabla_alumnos (Nombre, EsArgentino)
VALUES ('Fulano de Tal', 1), ('Gilde Goma', 0),
('Mengano de Tal', 1), ('Elsa Blazo', 1),
('Aquiles Bailo', 0), ('Paco Mer Bien', 1);

Para realizar el backup de la base de datos, saldremos del prompt de MySQL y regresaremos a la línea de comandos de Linux.

A continuación, veamos cómo usar mysqldump para hacer la copia de respaldo:

mysqldump -u root -p cla tabla_alumnos > cla.sql

En la Fig. 1 vemos el resultado:

Backups de MySQL con mysqldump
Figura 1 – Backups de MySQL con mysqldump

En detalle

La parte del comando identificada con el 1 en la Fig. 1 se utiliza para realizar la conexión al servidor de base de datos. Por otra parte, la parte resaltada con 2 lista la base de datos y la tabla que queremos respaldar, en ese orden. Luego podemos ver el operador de redirección que guardará la salida del comando en el archivo cla.sql.

Si se omite el nombre de la tabla luego de la base de datos, todas las tablas serán respaldadas.

Supongamos ahora que perdemos nuestra base de datos. Puede deberse a una falla en el hardware o a un descuido humano. Vamos a simular esto mediante

DROP DATABASE cla;

en el prompt de MySQL. Como vemos en la Fig. 2, la base de datos cla no existe más. Creémosla nuevamente (pero vacía) mediante

CREATE DATABASE cla;

Salgamos ahora del prompt y regresemos a la línea de comandos. Agreguemos la siguiente línea al comienzo del archivo cla.sql:

USE cla;

Guardemos los cambios y ejecutemos a continuación el siguiente comando:

mysql -u root -p < cla.sql

veremos que nuevamente tenemos a nuestra disposición la base de datos con todos sus contenidos originales.

Backups de MySQL: restaurar y verificar
Figura 2 – Backups de MySQL: restaurar y verificar

¡Hasta la próxima!