Laboratorio 2 de Automatización de Bases de Datos PDF

Summary

This document is a laboratory guide on database automation using Python and MySQL. It includes steps for installing necessary tools, configuring connections, performing queries, and creating a basic automated weekly backup of the database. It focuses on practical database management and scripting skills.

Full Transcript

**EVOLUCIONANDO PROCESOS: AUTOMATIZACIÓN DE BASES DE DATOS** **Laboratorio 2: Automatización de Bases de Datos con MySQL y Python** Objetivos del laboratorio 1. Instalar y configurar las herramientas necesarias: - Visual Studio Code (VS Code) desde Microsoft Store. - Python desde Microsoft...

**EVOLUCIONANDO PROCESOS: AUTOMATIZACIÓN DE BASES DE DATOS** **Laboratorio 2: Automatización de Bases de Datos con MySQL y Python** Objetivos del laboratorio 1. Instalar y configurar las herramientas necesarias: - Visual Studio Code (VS Code) desde Microsoft Store. - Python desde Microsoft Store. - Extensiones de VS Code para Python y Jupyter Notebook. 2. Configurar una conexión entre MySQL y Python. 3. Realizar consultas a una tabla de MySQL desde Python. 4. Implementar una automatización MUY básica para crear un backup semanal de la base de datos. Requerimientos previos - Sistema operativo Windows. ✅​ - MySQL instalado y configurado con una base de datos existente. ✅​ - Acceso a la Microsoft Store. ✅​ **PARTE 1: INSTALACIÓN Y CONFIGURACIÓN DE HERRAMIENTAS** ======================================================== 1. **Instalar Visual Studio Code (VS Code):** - Abre la **Microsoft Store**. - Busca Visual Studio Code. - Haz clic en **Instalar** y sigue las instrucciones. - Una vez instalado, abre VS Code y verifica que funcione correctamente. 2. **Instalar Python desde la Microsoft Store:** - Abre la **Microsoft Store**. - Busca Python *(elige la versión 3.x más reciente).* - Haz clic en **Instalar** y sigue las instrucciones. 3. **Instalar la extensión de Python y Jupyter Notebook en VS Code:** - Abre VS Code. - Ve a la sección de **Extensiones** *(icono de cuadrados en el lado izquierdo).* - Busca Python y haz clic en **Instalar**. - Busca Jupyter Notebook y haz clic en **Instalar**. **Recordatorio sobre Jupyter Notebook** ***Para que Jupyter Notebook funcione correctamente con Python, deberás crear un \"environment\" (entorno) en Python y conectar el kernel de Jupyter a ese environment.*** **Environment:** Es un entorno virtual que permite instalar librerías y dependencias específicas sin afectar al sistema global. Esto asegura que tus proyectos usen versiones compatibles de las librerías. **Kernel:** Es el proceso que ejecuta tu código en Jupyter Notebook. Debéis aseguraros de que el kernel apunte al environment correcto. **En vuestro caso deberéis crear el Python "environment" y conectar el "kernel" a él como hicimos en clase -- si hiciese falta volved a ver la clase.** **PARTE 2: CONFIGURACIÓN DE CONEXIÓN MYSQL-PYTHON** =================================================== 1. **Instalar (pip install) el conector MySQL para Python (mysql.connector)** Este conector permitirá a Python conectarse a vuestra base de datos MySQL. 2. **Conectar a MySQL** Crear un notebook de jupyter para la conexión llamado "conexión\_mysql. ipynb". *(OJO: NO OS OLVIDÉIS DE CERRAR LA CONEXIÓN)* **PARTE 3: CONSULTAR UNA TABLA EN MYSQL DESDE PYTHON** ====================================================== 1. Crear un notebook de jupyter para consultas llamado "consultas\_mysql. ipynb". 2. Investigad, **si** no recordáis lo visto en clase, lo que tenéis que hacer para ejecutar consultas. A continuación, os adjunto varias pistas importantes: - Crear un **cursor** para ejecutar consultas: **cursor = conexion.cursor()** - **cursor.execute(\"SELECT \* FROM tu\_tabla\")** \# *Cambia \'tu\_tabla\' por el nombre de tu tabla* - Tendréis que hacer como mínimo 1 consulta (recomendable hacer 3 consultas). - Obtener resultados y mostrarlos **resultados = cursor.fetchall()** **PARTE 4: AUTOMATIZACIÓN DEL BACKUP SEMANAL UTILIZANDO LA CONEXIÓN DE MYSQL CON PYTHON.** ========================================================================================== 1. Crear un notebook de jupyter para crear un backup semanal llamado "automatizar\_backup. ipynb" Pistas: - Necesitaréis las siguientes librerías: - **os,** - **time,** - **shedule,** - **mysql.connector** - Nombre del archivo de backup con marca de tiempo **nombre\_backup = f\"backup\_{time.strftime(\'%Y%m%d\_%H%M%S\')}.sql\"** - Comando para exportar la base de datos **comando = f\"mysqldump -u tu\_usuario -p\'tu\_contraseña\' tu\_base\_de\_datos \> {nombre\_backup}\" os.system(comando)** - Programar el backup para que se ejecute cada semana (por ejemplo, cada lunes a las 10:00 am) **schedule.every().monday.at(\"10:00\").do(crear\_backup)** - Mantener el script en ejecución con un bucle ***while*** True, verificando cada segundo si hay una tarea programada para ejecutar. **while True:** **schedule.run\_pending()** **time.sleep(1)** **Recordad:** El módulo *schedule* permite programar tareas recurrentes en Python. En este ejemplo, se programará el backup para que se ejecute automáticamente cada lunes a las 10:00 am. El script se mantiene ejecutándose indefinidamente con un bucle while True, verificando cada segundo si hay una tarea programada para ejecutar. **Validación:** Cambia el horario de *schedule* temporalmente (por ejemplo, para ejecutarse cada 5 minutos) para validar que el backup funciona. **Pista:** **schedule.every(5).minutes.do(crear\_backup)** Confirma que los archivos de backup se crean correctamente en el directorio donde se ejecuta el script. **ENTREGA DEL LABORATORIO** =========================== Subid a la carpeta del drive (laboratorio 2 de la asignatura "Evolucionando procesos: Automatización de Bases de Datos") una carpeta comprimida con el nombre: "Lab2\_AutomatizaciónBD\_NombreApellido" que incluya lo siguiente: - Informe del laboratorio con las capturas de pantalla que consideréis necesarias para demostrar que habéis realizado todos los pasos necesarios y la justificación escrita del porqué de los pasos que habéis seguido para crear los 3 notebooks de Jupyter en Visual Studio Code *(la guía que se encuentra a vuestra disposición en la plataforma os servirá de ayuda).* No os olvidéis de incluir en el informe la explicación de la automatización realizada para crear el backup de la base de datos y la evidencia de los archivos de backup creados automáticamente con nombres que incluyan la marca de tiempo *(capturas de pantalla de los backups creados automáticamente).* En el informe debe haber una conclusión final sobre la importancia de poder conectar Python con MySQL y de la importancia de la automatización de copias de seguridad *(incluyendo la importancia de marcar vosotros/as la periodicidad de los respaldos).* - Notebook de Jupyter notebook llamado: "conexión\_mysql. ipynb". - Notebook de Jupyter notebook llamado: "consultas\_mysql. ipynb". - Notebook de Jupyter notebook llamado: "automatizar\_backup. ipynb".

Use Quizgecko on...
Browser
Browser