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

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

Description and use

Automated recipe for MySQL backup and recovery using Railway, Aiven, and GitHub Actions, featuring encryption, integrity checks, and data validation.

Problem

Necesidad de conservar información fiable sobre inventarios y precios; al eliminar o modificar registros, se requiere una copia previa para recuperación.

Outcome

Implementado flujo diario de respaldo cifrado y restauración con verificación de integridad; permite recuperar estado de inventario tras eliminación o error.

Workflow

  • 1. Configurar variables de entorno y Docker Compose para servicios locales.
  • 2. Ejecutar backup.sh: verifica configuración, crea espacio temporal, exporta con mysqldump --single-transaction, comprime y cifra con AES-256-GCM.
  • 3. Generar checksum SHA-256 y guardar con archivo .sql.gz.enc.
  • 4. Subir artefacto a GitHub Actions como respaldo diario.
  • 5. Para restaurar, ejecutar restore.sh: verifica destino vacío, checksum, descifra, descomprime y importa SQL a base de destino distinta.
  • 6. Validar datos restaurados comparando con tabla original.

Evidence

El proceso de Actions accede a la base configurada y conserva la copia como artefacto cifrado.

Source

backup.sh comprueba la configuración y crea un espacio temporal privado.

Source

El archivo .sql.gz.enc contiene datos comprimidos y cifrados; requiere el procedimiento de descifrado antes de leer el SQL.

Source

El script restore.sh recupera la información en otra base para proteger el inventario activo.

Source

  • Record date: 2026-10-04T06:41:01.601Z