Saltar al contenido principal

Extraer la copia de seguridad remota

Operación sobre PRODUCCIÓN

Este procedimiento se conecta a la base de datos de producción con el usuario root. Ese usuario ve unas 20 bases de datos de otros productos de Zertifier (zerticarbon, zertifarm, zertinft, zpassbolt, …). Limita siempre el volcado a zertipower-prod y no ejecutes escrituras.

Datos de conexión

Los valores concretos no se documentan aquí a propósito: son credenciales de producción y esta documentación es un artefacto compartible. Consúltalos en el gestor de secretos del equipo. Los parámetros necesarios son:

ParámetroValor
Host<host-produccion>
Puerto3306
Usuario<usuario>
Contraseña<password>
Base de datoszertipower-prod (opcionalmente zertipower-dev)

El servidor remoto ejecuta MariaDB 10.4.13 sobre Debian.

Método recomendado: archivo de opciones

Pasar la contraseña en la línea de comandos la expone en el historial del shell y en la lista de procesos. Usa un archivo de opciones con permisos restringidos:

mkdir -p .secrets && chmod 700 .secrets

Crea .secrets/remote.cnf con este contenido (rellenando los valores reales):

[client]
host=<host-produccion>
port=3306
user=<usuario>
password=<password>
chmod 600 .secrets/remote.cnf

Añade .secrets/ a .gitignore antes de crear el archivo.

Opción A — cliente local instalado

mysqldump --defaults-extra-file=.secrets/remote.cnf --single-transaction --quick --routines --triggers zertipower-prod > backup_zertipower_prod.sql

Opción B — mediante Docker (sin cliente instalado)

Es la vía habitual en Windows, donde no suele existir mysqldump en el PATH:

docker run --rm -v "$(pwd)/.secrets:/cfg:ro" mariadb:10.11 mariadb-dump --defaults-extra-file=/cfg/remote.cnf --single-transaction --quick --routines --triggers zertipower-prod > backup_zertipower_prod.sql
Git Bash en Windows

Git Bash reescribe las rutas que empiezan por /, y /cfg/remote.cnf se convierte en C:/Program Files/Git/cfg/remote.cnf. Antepón MSYS_NO_PATHCONV=1 al comando para desactivar esa conversión.

Qué significan las banderas

BanderaPara qué sirve
--single-transactionVolcado consistente sin bloquear las tablas InnoDB. Imprescindible en producción.
--quickLee fila a fila en vez de cargar la tabla entera en memoria.
--routinesIncluye procedimientos y funciones almacenadas.
--triggersIncluye los triggers.

¿Hace falta el volcado remoto?

Para desarrollar en local, no. El seed mínimo reconstruye el esquema completo desde prisma/schema.prisma y no necesita acceso a producción.

El volcado remoto sólo es necesario si tienes que reproducir un problema con datos reales o migrar el servidor.