0% encontró este documento útil (0 votos)
21 vistas5 páginas

MySQL Con Docker

El laboratorio enseña a desplegar un servidor MySQL en Docker, crear una base de datos y tabla, y generar tráfico automático desde otro contenedor. Además, se monitorea el consumo de recursos y el comportamiento del sistema bajo carga. Se incluyen pasos detallados para la configuración y ejecución de scripts de carga y monitoreo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas5 páginas

MySQL Con Docker

El laboratorio enseña a desplegar un servidor MySQL en Docker, crear una base de datos y tabla, y generar tráfico automático desde otro contenedor. Además, se monitorea el consumo de recursos y el comportamiento del sistema bajo carga. Se incluyen pasos detallados para la configuración y ejecución de scripts de carga y monitoreo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Despliegue, Carga y Monitoreo de MySQL

con Docker

Objetivo del laboratorio

Aprenderás a:

1. Desplegar un servidor MySQL en Docker.


2. Crear una base de datos con una tabla.
3. Generar tráfico automático hacia el servidor desde otro contenedor.
4. Monitorear el consumo de recursos (CPU, memoria, disco) desde Docker y desde
MySQL.
5. Evaluar el comportamiento del sistema bajo carga.

Requisitos
• Navegador web actualizado.
• Cuenta gratuita en DockerHub para usar Play With Docker.
• Conexión estable a Internet.

Parte 1: Ingresar a Play With Docker (PWD)


1. Ir a [Link]
2. Iniciar sesión con tu cuenta de DockerHub.
3. Hacer clic en Start.
4. Presionar + Add New Instance para crear una terminal (Máquina 1).
Parte 2: Desplegar MySQL en Docker

En la terminal de la Máquina 1, escribe:

docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=admin123 -p


3306:3306 -d mysql:5.7

Verifica que está corriendo:

docker ps

Parte 3: Crear base de datos y tabla

Accede al contenedor:

docker exec -it mysql-server bash

Conéctate a MySQL:

mysql -u root -p
# Contraseña: admin123

Ejecuta los siguientes comandos:

CREATE DATABASE laboratorio;


USE laboratorio;

CREATE TABLE visitas (


id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50),
momento TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Sal del cliente MySQL:

exit

Y del contenedor:

exit
Parte 4: Crear segunda instancia para simular tráfico
1. Clic en + Add New Instance (Máquina 2).
2. En esta nueva terminal:

apk add --no-cache mysql-client

Ahora crea un script para generar carga hacia el servidor MySQL.

Crear script

[Link]
vi [Link]

Presiona la tecla i para entrar en modo de inserción.

Pega el siguiente contenido (reemplaza IP_MAQUINA_1 por la IP de tu primera instancia):

#!/bin/sh

INICIO=$(date +%s)
DURACION=$((30 * 60)) # 30 minutos en segundos

while [ $(($(date +%s) - $INICIO)) -lt $DURACION ]; do


mysql -h IP_MAQUINA_1 -u root -padmin123 -e "USE laboratorio; INSERT
INTO visitas (nombre) VALUES ('CargaAutomatica');"
echo "Insert ejecutado en $(date)"
sleep 5
done

Una vez pegado el contenido, presiona Esc para salir del modo de inserción.

Escribe :wq y presiona Enter para guardar y salir del archivo.

Hazlo ejecutable y ejecútalo:

chmod +x [Link]
./[Link]

Este script insertará un dato cada 5 segundos durante 30 minutos.


Parte 5: Monitoreo desde Docker

En la Máquina 1, corre:

docker stats

🔹 Se muestra en tiempo real:

• Consumo de CPU.
• Memoria utilizada.
• Lectura/escritura en disco.
• Red usada.

Parte 6: Monitoreo desde MySQL

Vuelve a entrar al contenedor de MySQL:

docker exec -it mysql-server bash


mysql -u root -p
# Contraseña: admin123

Ver procesos activos


SHOW PROCESSLIST;

🔹 Puedes ver conexiones abiertas y consultas en ejecución.

Ver uso de buffers (memoria)


SHOW STATUS LIKE 'Innodb_buffer_pool%';
• Innodb_buffer_pool_reads: lecturas desde disco.
• Innodb_buffer_pool_read_requests: lecturas totales.

Ver uso de disco por base de datos


SELECT table_schema AS "Base de datos",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Tamaño
en MB"
FROM information_schema.tables
GROUP BY table_schema;

Medir tiempo de ejecución de una consulta


SET PROFILING = 1;

SELECT * FROM visitas;

SHOW PROFILES;

🔹 Muestra duración de la consulta en milisegundos.

Limpieza final del entorno


Cuando hayas terminado:

docker stop mysql-server


docker rm mysql-server

También podría gustarte