Respaldo y recuperación de MySQL con Railway Aiven y GitHub Actions
Описание и применение
Автоматизированный рецепт резервного копирования и восстановления MySQL с использованием Railway, Aiven и GitHub Actions, включающий шифрование, контроль целостности и проверку данных.
Задача
Necesidad de conservar información fiable sobre inventarios y precios; al eliminar o modificar registros, se requiere una copia previa para recuperación.
Результат
Implementado flujo diario de respaldo cifrado y restauración con verificación de integridad; permite recuperar estado de inventario tras eliminación o error.
Рабочий процесс
- 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.
Доказательства
El proceso de Actions accede a la base configurada y conserva la copia como artefacto cifrado.
backup.sh comprueba la configuración y crea un espacio temporal privado.
El archivo .sql.gz.enc contiene datos comprimidos y cifrados; requiere el procedimiento de descifrado antes de leer el SQL.
El script restore.sh recupera la información en otra base para proteger el inventario activo.
- Дата записи: 2026-10-04T06:41:01.601Z