Respaldo y recuperación de MySQL con Railway Aiven y GitHub Actions
说明与用途
使用 Railway、Aiven 和 GitHub Actions 的 MySQL 备份与恢复自动化方案,包含加密、完整性校验和数据验证。
问题
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