Instalación de MySQL 5.7 con Docker

Obtener la imagen de MySQL 5.7

El primer paso consiste en descargar la imagen oficial de MySQL 5.7 desde Docker Hub:

docker pull mysql:5.7

Preparar directorio para almacenamiento persistente

Para asegurar que los datos de la base de datos se mantengan incluso después de detener el contenedor, crea un directorio en tu sistema anfitrión:

mkdir -p /datos/bd/mysql57

Ejecutar el contenedor de MySQL

Inicia un nuevo contenedor con la configuración necesaria:

docker run -p 3307:3306 \
           --name servidor_mysql \
           -e MYSQL_ROOT_PASSWORD=contraseña_segura \
           -v /datos/bd/mysql57:/var/lib/mysql \
           -d mysql:5.7

Descripción de parámetros:

  • -p 3307:3306: Mapea el puerto 3307 del host al puerto 3306 del contenedor.
  • --name servidor_mysql: Asigna un nombre identificativo al contenedor.
  • -e MYSQL_ROOT_PASSWORD=contraseña_segura: Establece la contraceña para el usuario root de MySQL.
  • -v /datos/bd/mysql57:/var/lib/mysql: Monta el directorio local en la ruta de datos de MySQL para persistencia.
  • -d mysql:5.7: Ejecuta el contenedor en modo desvinculado (background).

Verificar el estado del contenedor

Comprueba que el contenedor se está ejecutando correcatmente:

docker ps

Si todo funciona correctamente, deberías ver una salida similar a esta:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
f1e2d3c4b5a6        mysql:5.7           "docker-entrypoint.s…"   30 seconds ago      Up 20 seconds       0.0.0.0:3307->3306/tcp   servidor_mysql

Acceder al contenedor

Para interactuar con el sistema dentro del contenedor, utiliza:

docker exec -it servidor_mysql bash

Una vez dentro del entorno del contenedor, inicia sesión en MySQL:

mysql -u root -p

Ingresa la contraseña que configuraste previamente para acceder a la consola de MySQL.

Habilitar conexiones remotas (opcional)

Si necesitas permitir el acceso desde fuera del contenedor, sigue estos pasos:

  1. Dentro de la consola MySQL, ejecuta:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'contraseña_segura';
FLUSH PRIVILEGES;
  1. Asegúrate de que tu firewall permita conexiones en el puerto 3307.

Conexión desde clientes externos

Puedes conectar cualquire cliente MySQL (como DBeaver, MySQL Workbench, etc.) a la dirección IP de tu servidor en el puerto 3307, utilizando como credenciales:

  • Usuario: root
  • Contraseña: contraseña_segura

Etiquetas: Docker MySQL contenedores bases de datos persistencia de datos

Publicado el 6-16 04:31