Copia de Seguridad y Recuperación de MySQL

MySQLBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a realizar copias de seguridad y restauraciones de bases de datos MySQL utilizando la herramienta de línea de comandos mysqldump. mysqldump es una utilidad crucial para crear copias de seguridad lógicas, que son esenciales para la protección de datos, la recuperación ante desastres y la migración.

Practicará la copia de seguridad de una base de datos completa, la copia de seguridad de una sola tabla y luego la restauración de ambas a partir de los archivos de copia de seguridad. El laboratorio lo guiará a través de la simulación de escenarios de pérdida de datos y el uso de sus copias de seguridad para recuperar los datos, asegurando que comprenda el ciclo completo de copia de seguridad y recuperación.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 96%. Ha recibido una tasa de reseñas positivas del 89% por parte de los estudiantes.

Realizar Copia de Seguridad de una Base de Datos Completa

El primer paso en la protección de datos es crear una copia de seguridad completa. En este paso, utilizará mysqldump para crear una copia de seguridad completa de la base de datos mydatabase, que ha sido preconfigurada para usted.

Primero, abra la terminal. Inspeccionemos la base de datos para ver qué contiene. Conéctese al servidor MySQL utilizando el usuario root.

sudo mysql -u root

Una vez que vea el indicador mysql>, cambie a la base de datos mydatabase y vea sus tablas.

USE mydatabase;
SHOW TABLES;

Debería ver dos tablas, products y users.

+--------------------+
| Tables_in_mydatabase |
+--------------------+
| products           |
| users              |
+--------------------+
2 rows in set (0.00 sec)

Ahora, salga del shell de MySQL para volver a la terminal.

exit

Es hora de hacer una copia de seguridad de toda la base de datos. El comando mysqldump lee la base de datos y genera las sentencias SQL necesarias para recrearla. Redirigiremos esta salida a un archivo .sql.

Ejecute el siguiente comando para hacer una copia de seguridad de mydatabase y guardarla en un archivo llamado mydatabase_backup.sql dentro del directorio /home/labex/backup.

sudo mysqldump -u root mydatabase > /home/labex/backup/mydatabase_backup.sql

Para confirmar que se creó el archivo de copia de seguridad, liste el contenido del directorio /home/labex/backup.

ls /home/labex/backup

Debería ver su archivo de copia de seguridad listado.

mydatabase_backup.sql

Ha creado con éxito una copia de seguridad completa de la base de datos.

Realizar Copia de Seguridad de una Tabla Individual

A veces, solo necesita hacer una copia de seguridad de una tabla específica en lugar de la base de datos completa. Esto es útil para operaciones más pequeñas y específicas. En este paso, hará una copia de seguridad solo de la tabla products.

La sintaxis es similar a una copia de seguridad completa de la base de datos, pero especifica el nombre de la tabla después del nombre de la base de datos.

Desde su terminal, ejecute el siguiente comando para hacer una copia de seguridad de la tabla products de mydatabase. La copia de seguridad se guardará como products_backup.sql.

sudo mysqldump -u root mydatabase products > /home/labex/backup/products_backup.sql

Verifiquemos que se creó el nuevo archivo de copia de seguridad. Liste nuevamente el contenido del directorio de copias de seguridad.

ls /home/labex/backup

Ahora debería ver tanto la copia de seguridad completa de la base de datos como la copia de seguridad de una sola tabla.

mydatabase_backup.sql  products_backup.sql

Puede inspeccionar el contenido del archivo de copia de seguridad de una sola tabla para ver que solo contiene información para la tabla products.

cat /home/labex/backup/products_backup.sql

La salida mostrará las sentencias SQL para crear y poblar solo la tabla products. Esto confirma que ha creado con éxito una copia de seguridad específica.

Restaurar una Base de Datos Completa

Ahora que tiene copias de seguridad, practiquemos cómo restaurarlas. En este paso, simulará un desastre eliminando toda la base de datos mydatabase y luego restaurándola desde su archivo de copia de seguridad completo.

Primero, eliminemos la base de datos. La opción -e le permite ejecutar un único comando SQL directamente desde su terminal.

sudo mysql -u root -e "DROP DATABASE mydatabase;"

Verifique que la base de datos ha sido eliminada.

sudo mysql -u root -e "SHOW DATABASES;"

Verá que mydatabase ya no está en la lista.

Antes de poder restaurar los datos, debe crear una base de datos vacía con el mismo nombre.

sudo mysql -u root -e "CREATE DATABASE mydatabase;"

Ahora, restaure la base de datos redirigiendo el archivo mydatabase_backup.sql como entrada al cliente mysql.

sudo mysql -u root mydatabase < /home/labex/backup/mydatabase_backup.sql

El comando ejecutará todas las sentencias SQL del archivo de copia de seguridad, recreando las tablas e insertando los datos.

Para verificar la restauración, conéctese a MySQL y revise las tablas y su contenido.

sudo mysql -u root

En el prompt mysql>, ejecute estos comandos:

USE mydatabase;
SHOW TABLES;
SELECT * FROM users;

Debería ver nuevamente las tablas products y users, y la tabla users debería contener sus datos originales.

+--------------------+
| Tables_in_mydatabase |
+--------------------+
| products           |
| users              |
+--------------------+
2 rows in set (0.00 sec)

+----+------------+--------------------------+
| id | name       | email                    |
+----+------------+--------------------------+
|  1 | John Doe   | john.doe@example.com     |
|  2 | Jane Smith | jane.smith@example.com   |
+----+------------+--------------------------+
2 rows in set (0.00 sec)

Salga del shell de MySQL.

exit

Ha recuperado con éxito la base de datos completa de un fallo catastrófico.

Resumen

En este laboratorio, ha aprendido las habilidades esenciales para realizar copias de seguridad y restaurar bases de datos MySQL utilizando la utilidad mysqldump. Ha practicado la creación de una copia de seguridad completa de una base de datos y una copia de seguridad específica de una sola tabla.

También ha adquirido experiencia práctica con los procedimientos de recuperación simulando tanto la pérdida completa de una base de datos como la eliminación accidental de una sola tabla. Al restaurar con éxito los datos en ambos escenarios, ha demostrado una comprensión fundamental del ciclo de vida completo de protección de datos, una habilidad crítica para cualquier administrador de bases de datos o desarrollador.