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:
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.
¡Hasta la próxima!