Saltar al contenido
Facturador

Restauración de Base de Datos MySQL en Docker

Esta guía describe cómo restaurar o recuperar los datos almacenados en los volúmenes físicos de MariaDB/MySQL en caso de fallos graves en el demonio de Docker o corrupción de capas.


⚠️ Consideraciones Previas y Seguridad

  • Se recomienda encarecidamente contar con un snapshot previo de la máquina virtual (GCP o AWS).
  • Asegúrese de que el servidor dispone de espacio libre suficiente en disco (df -h).
  • Resguarde el contenido de storage/app antes de realizar operaciones destructivas sobre el motor de contenedores.

🛠️ Procedimiento de Respaldo y Recuperación de Volúmenes

  1. Acceda por SSH y cambie a superusuario:

    sudo su -
    
  2. Ubique la carpeta del volumen de MariaDB dentro del directorio de volúmenes de Docker:

    cd /var/lib/docker/volumes
    ls -la
    

    Identifique la carpeta del volumen de la base de datos (por ejemplo pro9_mariadb_data o multifacturalo_mariadb_data).

  3. Copie de forma segura el volumen completo a un directorio fuera de Docker:

    cp -r nombre_volumen_mariadb /home/backup_mariadb_raw
    
  4. Si requiere purgar y reinstalar el entorno Docker por corrupción de paquetes:

    docker system prune -a --volumes
    
  5. Diríjase a la carpeta del proyecto y levante los contenedores para que Docker genere la nueva estructura de volúmenes:

    cd /ruta/del/proyecto
    docker compose up -d
    
  6. Detenga los servicios de base de datos para reemplazar los datos limpios por los restaurados:

    docker compose down
    
  7. Reemplace los archivos en /var/lib/docker/volumes/:

    cd /var/lib/docker/volumes
    mv nombre_volumen_mariadb nombre_volumen_mariadb_nuevo_vacio
    cp -r /home/backup_mariadb_raw/nombre_volumen_mariadb ./
    
  8. Regrese a la carpeta del proyecto y reinicie los servicios:

    cd /ruta/del/proyecto
    docker compose up -d
    
  9. Valide el acceso ingresando a la aplicación web y verificando la persistencia de las empresas y comprobantes.