Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Respaldo y recuperación de MySQL con Railway, Aiven y GitHub Actions

Description and use

Automated MySQL backup with Railway, Aiven, and GitHub Actions, providing daily logical dumps, encryption, checksum verification, and restoration to a separate database.

Problem

Perder un registro de inventario altera el stock y el valor de los productos, por lo que se necesita conservar y poder restaurar el estado de la base de datos.

Outcome

Se implementó un flujo de respaldo automático diario que genera archivos cifrados y comprimidos, con verificación SHA-256, y se validó la restauración en una base distinta, garantizando la recuperación de datos en caso de pérdida.

Workflow

  • Desarrollar aplicación Node.js/Express con MySQL
  • Crear scripts backup.sh y restore.sh que usan mysqldump, gzip y cifrado
  • Configurar GitHub Actions workflow que ejecuta backup.sh diariamente a 06:00 UTC
  • Almacenar artefacto .sql.gz.enc y generar SHA-256 checksum
  • Validar restauración ejecutando restore.sh en base vacía
  • Desplegar aplicación en Railway y conectar a MySQL de Aiven
  • Configurar variables de entorno DB_SSL y certificado CA para conexión segura

Evidence

Se eligió un respaldo lógico completo porque la base es pequeña y su contenido puede revisarse mediante SQL.

Source

El proyecto verifica tanto la confianza del certificado como la identidad del servidor.

Source

El proyecto verifica tanto la confianza del certificado como la identidad del servidor.

Source

  • Record date: 2026-10-04T07:40:54.218Z