En entornos modernos, ejecutar bases de datos dentro de contenedores Docker es una práctica habitual. Sin embargo, cuando llega el momento de restaurar o importar un dump de MySQL, es importante conocer el procedimiento correcto para hacerlo de forma simple y segura.

En este artículo te explico cómo importar una base de datos MySQL directamente dentro de un contenedor Docker, con ejemplos prácticos que puedes aplicar en tu día a día como administrador de sistemas.

Concepto básico

Cuando trabajas con Docker, el servidor MySQL se ejecuta dentro de un contenedor aislado. Para interactuar con él, necesitas usar el comando:

$ docker exec

Este comando permite ejecutar instrucciones dentro del contenedor, como si estuvieras conectado directamente al sistema.

Importar una base de datos desde un archivo .sql

El caso más común es tener un archivo de respaldo en formato:

data.sql

Para importarlo en una base de datos MySQL que corre dentro de un contenedor, puedes utilizar:

$ docker exec -i mysql-container mysql -uuser -ppassword name_db < data.sql

Donde:

  • mysql-container → nombre del contenedor.
  • user → usuario de MySQL.
  • password → contraseña del usuario.
  • name_db → base de datos destino.
  • < data.sql → redirección del archivo a importar.

Este comando envía el contenido del archivo directamente al cliente MySQL dentro del contenedor.

Validaciones previas

Antes de ejecutar la importación, asegúrate de:

  • Que el contenedor esté en ejecución:
$ docker ps
  • Que la base de datos exista dentro del contenedor.
  • Que el usuario tenga permisos suficientes para importar datos.

Importar desde un archivo comprimido

En algunos casos, los backups pueden estar comprimidos. Aunque este artículo no se enfoca en compresión, es común canalizar la salida de una herramienta de descompresión directamente hacia MySQL.

Ejemplo típico:

$ gunzip < backup.sql.gz | docker exec -i mysql-container mysql -uuser -ppassword name_db

Esto evita generar archivos intermedios en disco.

Conclusión

Importar una base de datos MySQL dentro de un contenedor Docker es un proceso directo cuando se comprende el uso de docker exec y la redirección de archivos. Esta técnica es fundamental para tareas de migración, restauración y despliegue en entornos contenerizados.

Si trabajas con infraestructura basada en Docker, dominar este tipo de operaciones te permitirá gestionar tus bases de datos de forma más eficiente y segura.

Categorías: MySQL

Daniel Maldonado

¡Hola! Soy Daniel Maldonado, Sr. Analista de Seguridad Informática y me dedico al hacking desde hace más de 10 años.

0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Daniel Maldonado
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.