En el día a día se habla de servidores, webs y aplicaciones como si fueran algo abstracto, pero detrás de casi cualquier servicio digital hay una pieza muy concreta que guarda la información importante: la base de datos. Ahí están los pedidos de la tienda online, los datos de los clientes, los usuarios registrados, las reservas de un hotel o el historial clínico en un hospital.
Y hay una pregunta que toda empresa debería hacerse:
“Si mañana se estropea el servidor, ¿podemos recuperar los datos?”
La respuesta depende casi siempre de una sola cosa: si se están haciendo respaldos (copias de seguridad) de la base de datos y si funcionan de verdad. A continuación se explica, en un lenguaje lo más claro posible, cómo se respalda una base de datos en los motores más habituales y qué buenas prácticas conviene seguir.
Qué significa “respaldar” una base de datos
Respaldar una base de datos es, básicamente, hacer una copia coherente de la información para poder restaurarla más adelante si algo sale mal:
- Un fallo de hardware.
- Un borrado accidental.
- Un ataque de ransomware.
- Una actualización que rompe más de lo que arregla.
Igual que se hacen copias de fotos familiares o documentos importantes, las bases de datos necesitan su propio sistema de copias, pero con herramientas específicas para que la información quede consistente y recuperable.
Si tu web o aplicación usa MySQL
MySQL es uno de los motores más populares, sobre todo en webs, blogs y tiendas online. Hay dos caminos muy habituales para hacer copias:
1. Con MySQL Workbench (modo “ventanitas”)
Para quien prefiere algo visual, MySQL Workbench ofrece un asistente bastante claro:
- Abrir MySQL Workbench y conectar con el servidor.
- Ir a la sección de Administración.
- Entrar en Exportación de datos.
- Elegir la base de datos que se quiere respaldar.
- Decidir si se quiere:
- Una carpeta con varios ficheros
.sql(uno por tabla). - Un único archivo
.sqlcon todo.
- Una carpeta con varios ficheros
- Pulsar Iniciar exportación y esperar a que termine.
Con ese archivo .sql, en caso de emergencia se puede recrear la base de datos en otro servidor.
2. Con la línea de comandos (mysqldump)
En entornos más técnicos y para automatizar, se usa mucho mysqldump desde una terminal:
mysqldump -u NOMBRE_USUARIO -p NOMBRE_BASE_DATOS > /ruta/backup.sql
El sistema pedirá la contraseña y generará un archivo backup.sql.
Si la base de datos es grande, se puede comprimir al vuelo:
mysqldump -u NOMBRE_USUARIO -p NOMBRE_BASE_DATOS | gzip > /ruta/backup.sql.gz
Estos comandos se suelen programar con tareas automáticas (por ejemplo, cron en Linux) para que la copia se haga cada noche sin que nadie tenga que acordarse.
En oficinas y empresas que usan SQL Server
En muchos entornos corporativos de Windows, el rey sigue siendo Microsoft SQL Server. Aquí lo normal es trabajar con SQL Server Management Studio (SSMS), que ya trae un asistente de copia de seguridad.
Los pasos básicos:
- Abrir SSMS y conectar a la instancia de SQL Server.
- En el Explorador de objetos, expandir Bases de datos.
- Botón derecho sobre la base que se quiere copiar → Tareas → Copia de seguridad….
- Elegir:
- Tipo de copia: completa, diferencial, etc.
- Carpeta y nombre del archivo
.bak.
- Aceptar y dejar que el proceso termine.
El archivo .bak será la copia de seguridad. En caso de problema, se puede restaurar desde el propio SSMS o con un comando RESTORE.
En empresas grandes es muy habitual combinar:
- Una copia completa cada cierto tiempo (por ejemplo, una vez al día).
- Copias más pequeñas (diferenciales o del registro de transacciones) cada poco tiempo para no perder casi nada.
En proyectos que usan PostgreSQL
PostgreSQL se ha ganado un espacio importante en aplicaciones modernas y proyectos más técnicos. Aquí también hay dos opciones claras:
1. Con la herramienta pg_dump
Desde la terminal, se usa pg_dump para generar un archivo con la copia:
Formato de texto (SQL “legible”):
pg_dump -U NOMBRE_USUARIO -h HOST NOMBRE_BASE_DATOS > /ruta/backup.sql
Formato personalizado (binario):
pg_dump -U NOMBRE_USUARIO -h HOST -F c NOMBRE_BASE_DATOS > /ruta/backup.dump
El formato de texto es fácil de entender y editar, mientras que el formato “custom” se restaura con pg_restore y permite recuperar solo algunas tablas si hace falta.
2. Con pgAdmin (entorno gráfico)
Para quien prefiere ratón en lugar de terminal:
- Abrir pgAdmin y conectar con el servidor.
- Botón derecho sobre la base de datos → Backup… / Copia de seguridad….
- Elegir nombre del archivo y formato (plain, custom, tar, etc.).
- Confirmar y ejecutar.
Ideal para entornos de desarrollo o para tareas puntuales de administración.
En empresas que trabajan con Oracle
En el mundo de las grandes corporaciones, Oracle sigue siendo un clásico. En este caso, hay dos caminos muy conocidos:
1. Con Data Pump (expdp)
Data Pump Export (expdp) permite sacar datos y estructura a un archivo:
expdp USUARIO/CONTRASEÑA schemas=NOMBRE_ESQUEMA \
directory=NOMBRE_DIRECTORIO_ORACLE \
dumpfile=backup.dmp \
logfile=backup.log
Ese directory no es una ruta “normal”, sino un objeto configurado dentro de Oracle que apunta a una carpeta del servidor. El archivo backup.dmp es el que luego se usará para recuperar la información.
2. Con SQL Developer
En entornos de desarrollo o para exportaciones parciales:
- Abrir SQL Developer y conectarse.
- Usar el asistente de Exportar.
- Elegir qué datos se quieren sacar (esquema completo, algunas tablas, etc.).
- Seleccionar el formato (por ejemplo, scripts de
INSERT). - Guardar el archivo resultante.
Es una forma cómoda de mover datos entre entornos o de llevarse un trozo de la base para pruebas.
Tres errores muy comunes al hacer copias de bases de datos
Aunque las herramientas cambien según el motor, hay errores que se repiten en casi todas partes:
1. Hacer copias… pero en el mismo servidor
Es el clásico: la base de datos y sus copias están en la misma máquina. Si se rompe el disco, se pierde todo. Lo recomendable es guardar las copias en:
- Otro servidor.
- Un almacenamiento de red.
- Un servicio en la nube.
- Un dispositivo externo que no esté siempre conectado.
2. No automatizar los respaldos
Cuando depender de que alguien “se acuerde” es la estrategia, el fallo es cuestión de tiempo. Lo ideal es programar:
- Copias completas con cierta regularidad (por ejemplo, diarias o semanales).
- Copias más ligeras (incrementales, diferenciales o de logs) más a menudo en sistemas críticos.
Así, aunque nadie esté pendiente, las copias se ejecutan solas.
3. No probar nunca la restauración
Muchas empresas descubren que sus copias no valen cuando ya es tarde. Un archivo corrupto, una ruta mal puesta o un script incompleto pueden arruinar un plan de recuperación.
Por eso es clave:
- Hacer pruebas de restauración cada cierto tiempo en un entorno de pruebas.
- Medir cuánto se tarda en recuperar el servicio.
- Documentar los pasos para que cualquiera del equipo pueda seguirlos en un momento de tensión.
Un pequeño checklist para saber si vas por buen camino
Si hubiera que resumir todo en pocas preguntas, serían estas:
- ¿Se hacen copias automáticas de la base de datos?
- ¿Se guardan en otro lugar distinto al servidor principal?
- ¿Se ha probado alguna vez a restaurar desde esas copias?
- ¿Existe una política de retención (cuánto tiempo se guarda cada copia)?
Si la respuesta a alguna de ellas es “no”, probablemente haya trabajo por hacer.
Al final, respaldar una base de datos no es solo un tema técnico: es una forma de proteger el negocio. La tecnología ofrece herramientas para MySQL, SQL Server, PostgreSQL u Oracle; lo realmente decisivo es que alguien se encargue de que esas copias existan, se guarden en un sitio seguro y sirvan para lo que fueron pensadas: que un fallo no se convierta en una catástrofe.