Operación Rescate
Objetivo General
El estudiante será capaz de implementar una estrategia básica de continuidad de negocio mediante la gestión de respaldos, automatización de tareas y restauración de datos en un entorno relacional, garantizando la integridad de la información ante fallos o ataques.
Introducción Contextual
Imagina que eres el único responsable de los datos de una clínica en plena madrugada. Un error humano o un ataque malicioso borra la tabla de pacientes. ¿Qué separa el éxito del fracaso? Tu capacidad técnica para prevenir y reaccionar. En esta práctica, dejarás de ser un usuario para convertirte en un administrador de sistemas, aprendiendo que en el mundo de los datos, "si algo no está respaldado, no existe".
Datos de la Actividad
- Duración estimada: 60 min (Laboratorio) + 90 min (Investigación).
- Dificultad: Intermedia.
Materiales y Recursos
- Computadora con MySQL o MariaDB instalado.
- Terminal de comandos (CMD, PowerShell o Bash).
- Editor de texto (VS Code, Notepad++ o similar).
- Acceso al repositorio de código de la práctica.
Instrucciones Paso a Paso
1. Preparación del Entorno (Seed Data)
Antes de proteger, necesitamos ¿qué proteger? Crea la base de datos clinica_frexus y sus tablas relacionales ejecutando el script SQL proporcionado (Médicos, Pacientes y Citas). Asegúrate de insertar los datos de prueba para tener registros reales. Descarga y ejecuta el script SQL inicial. Este creará las tablas de Médicos, Pacientes y Citas.
2. Fase de Prevención: El Escudo (Exportación)
Crea un respaldo físico de tu base de datos. Este archivo .sql contiene todas las instrucciones necesarias para reconstruir tu clínica desde cero.
- Comando:
mysqldump -u usuario -p clinica_frexus > respaldo_seguro.sql - ¿Qué sucede? Se genera un archivo de texto plano con toda la estructura y datos actuales.
Nota: Sustituye "usuario" por tu nombre de usuario de MySQL.
3. Simulación de Crisis (El Error Humano)
Para valorar el respaldo, debemos perder algo. Simula un error crítico eliminando la tabla de pacientes.
- Comando:
DROP TABLE pacientes; - Reflexión: ¿Qué sucede con las citas médicas? El sistema ha quedado huérfano; la integridad relacional se ha roto.
4. Fase de Reacción: El Rescate (Restauración)
Es hora de actuar como Mateo. Utiliza tu archivo de respaldo para inyectar nuevamente la información al servidor.
- Comando:
mysql -u usuario -p clinica_frexus < respaldo_seguro.sql
5. El Centinela (Automatización)
Un administrador no espera al desastre; lo previene. Crea el script en Bash (backup.sh o .bat en Windows ) proporcionado para que el sistema realice la tarea anterior de forma autónoma. Cambia las variables de ruta y contraseña según tu sistema.
Recomendaciones
- Verifica antes de borrar: Siempre confirma que tu archivo .sql tiene peso (KB) antes de ejecutar un DROP.
- Documenta en tiempo real: Toma las capturas conforme avanzas, no intentes recrearlas al final.
- Lee la consola: Los mensajes de error de MySQL te dicen exactamente qué falta (un punto y coma, una ruta mal escrita, etc.).
- Prueba el script: Ejecuta tu script de automatización al menos dos veces para ver si genera archivos con nombres distintos.
- Sé reflexivo: El valor de esta práctica no es el comando, sino entender la responsabilidad de cuidar la información.
Problema Común y Solución Rápida
- Problema: Al ejecutar el script de automatización, aparece el error: "Permission denied". Solución: Los scripts en Linux/Mac necesitan permisos de ejecución. Ejecuta en la terminal: chmod +x tu_script.sh y vuelve a intentarlo.
