🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo hacer una copia de seguridad de una base de datos MySQL (mysqldump y phpMyAdmin)

Actualizado el 21 de febrero de 2026

¿Por qué es tan importante hacer una copia de seguridad de tu base de datos?

Imagina que has pasado meses construyendo tu sitio web, llenando tu tienda online con productos o escribiendo artículos para tu blog. De repente, un error humano, un ataque malintencionado o un fallo del servidor borra todo. Sin una copia de seguridad, recuperar esa información sería una pesadilla o, directamente, imposible.

La base de datos MySQL es el corazón de la mayoría de los sitios web dinámicos (WordPress, PrestaShop, Magento, etc.). Contiene tus publicaciones, usuarios, pedidos, configuraciones y todo el contenido que hace que tu web sea única. Por eso, saber cómo hacer un backup mysql no es una opción, es una necesidad vital para cualquier administrador de un sitio web.

En esta guía extensa y muy visual, te voy a enseñar dos métodos infalibles para realizar copias de seguridad: el potente y flexible mysqldump (a través de la terminal) y el método gráfico y sencillo de phpMyAdmin (desde tu panel de control). Además, te explicaré cómo restaurar esas copias cuando las necesites. Al final, tendrás un conocimiento sólido para proteger tus datos como un profesional.

Método 1: La vía profesional con mysqldump desde la terminal

Si tienes acceso SSH a tu servidor, mysqldump es la herramienta más potente y flexible que existe para realizar un backup mysql. Es la opción preferida por los desarrolladores y administradores de sistemas porque te da un control total sobre el proceso y es fácil de automatizar.

¿Cómo funciona mysqldump?

Básicamente, mysqldump es un programa de línea de comandos que genera un archivo de texto con todas las instrucciones SQL necesarias para recrear tu base de datos desde cero. Este archivo contiene las sentencias para crear las tablas, insertar los datos, configurar los índices, etc. Es como hacer una foto instantánea de toda tu información.

Paso 1: Accede a tu servidor por SSH

Para poder ejecutar comandos en tu servidor, necesitas conectarte a él. En este ejemplo, vamos a usar la herramienta Syspanel. Recuerda que el puerto de acceso para Syspanel es el 2106.

Abre tu terminal (en Mac o Linux) o usa un programa como PuTTY (en Windows) y ejecuta el siguiente comando para conectarte a tu servidor:

ssh usuario@tu-dominio.com -p 2106

Te pedirá tu contraseña y, una vez verificada, estarás dentro del sistema.

Paso 2: El comando básico de mysqldump

Una vez dentro, la sintaxis básica para hacer una copia de seguridad de una base de datos específica es la siguiente:

mysqldump -u USUARIO -p NOMBRE_BASE_DE_DATOS > archivo_de_respaldo.sql

Vamos a desglosarlo:

  • mysqldump: Es la herramienta que vamos a usar.
  • -u USUARIO: Es el nombre de usuario de MySQL que tiene permisos sobre la base de datos que quieres copiar.
  • -p: Esta opción te pedirá que introduzcas la contraseña del usuario de MySQL de forma segura (no la escribas en el comando).
  • NOMBRE_BASE_DE_DATOS: Es el nombre exacto de la base de datos que quieres respaldar.
  • >: Este símbolo redirige la salida del comando a un archivo.
  • archivo_de_respaldo.sql: Es el nombre que le quieres dar al archivo de respaldo. Puedes incluir una ruta, por ejemplo, /home/usuario/backups/respaldo.sql.

Ejemplo práctico: Imagina que tu base de datos se llama mipagina_wp y tu usuario es admin_bd. El comando sería:

mysqldump -u admin_bd -p mipagina_wp > mipagina_wp_respaldo.sql

Después de ejecutarlo, el sistema te pedirá la contraseña. Escríbela y presiona Enter. Si todo ha ido bien, no verás ningún mensaje de error y el archivo se habrá creado en el directorio donde estabas.

Paso 3: Mejora tu backup con opciones avanzadas

El comando básico funciona, pero para un backup mysql más robusto y seguro, te recomiendo usar algunas opciones adicionales:

  • --add-drop-table: Esta opción añade el comando DROP TABLE IF EXISTS antes de cada sentencia CREATE TABLE. Es muy útil para evitar errores si ya existe una tabla con el mismo nombre al restaurar.
  • --single-transaction: Para bases de datos con tablas InnoDB (el motor más común), esta opción asegura que la copia de seguridad se realice de forma consistente, sin bloquear las tablas y permitiendo que tu sitio web siga funcionando durante el proceso.
  • --routines: Incluye en la copia de seguridad los procedimientos almacenados, funciones y triggers de la base de datos.
  • --triggers: Esta opción está activada por defecto, pero es bueno ser explícito. Incluye los triggers de las tablas.

Un comando más completo sería así:

mysqldump -u admin_bd -p --add-drop-table --single-transaction --routines mipagina_wp > mipagina_wp_respaldo_completo.sql

Paso 4: Comprimir el backup para ahorrar espacio

Los archivos .sql pueden ocupar mucho espacio. Una buena práctica es comprimirlos con gzip para reducir su tamaño considerablemente. Puedes hacerlo en un solo paso:

mysqldump -u admin_bd -p mipagina_wp | gzip > mipagina_wp_respaldo.sql.gz

De esta manera, obtendrás un archivo comprimido que es mucho más fácil de guardar y transferir.

Paso 5: Automatiza tus backups con cron jobs

¿Y si no quieres acordarte de hacer las copias manualmente? La solución es automatizarlas con un cron job. Puedes crear un pequeño script que ejecute el backup y lo guarde con la fecha del día, y luego programarlo en el sistema.

Crea un archivo, por ejemplo, backup_script.sh, con el siguiente contenido:

#!/bin/bash
fecha=$(date +%Y-%m-%d)
mysqldump -u admin_bd -p[TU_CONTRASEÑA] mipagina_wp | gzip > /ruta/a/tus/backups/mipagina_wp_$fecha.sql.gz

WARNING: Ten mucho cuidado al escribir la contraseña directamente en el script, ya que cualquiera que tenga acceso al archivo podrá verla. Asegúrate de que el archivo tenga permisos restringidos (por ejemplo, chmod 700 backup_script.sh).

Para programarlo, edita el crontab con crontab -e y añade una línea como esta para que se ejecute todos los días a las 3 de la mañana:

0 3 * * * /ruta/al/script/backup_script.sh

¡Tu backup mysql se hará solo!

Método 2: La vía gráfica y sencilla con phpMyAdmin

Si no te sientes cómodo con la línea de comandos o prefieres una interfaz visual, phpMyAdmin es la herramienta perfecta para ti. Es una aplicación web que te permite gestionar tus bases de datos MySQL de forma gráfica, y es muy común en los paneles de control de hosting.

Paso 1: Accede a phpMyAdmin

La forma de acceder depende de tu proveedor de hosting. Normalmente, puedes encontrarlo en tu panel de control (como Syspanel, accesible por el puerto 2106) o en una URL específica como tudominio.com/phpmyadmin. Busca el icono o enlace de phpMyAdmin en tu área de administración.

Paso 2: Selecciona tu base de datos

Una vez dentro de phpMyAdmin, verás una lista de todas tus bases de datos en el panel lateral izquierdo. Haz clic en el nombre de la base de datos que quieres respaldar. Verás que la interfaz cambia y te muestra las tablas de esa base.

Paso 3: Exportar la base de datos (la copia de seguridad)

Con la base de datos seleccionada, ve a la pestaña superior que dice "Exportar". Aquí tienes dos opciones principales: "Rápida" y "Personalizada".

  • Exportación rápida: Es la más sencilla. Solo tienes que elegir el formato (te recomiendo SQL) y hacer clic en el botón "Continuar" o "Exportar". El navegador descargará un archivo .sql con todo tu backup.
  • Exportación personalizada: Esta opción te da más control. Puedes elegir qué tablas exportar, el método de compresión (por ejemplo, gzip), y otras opciones avanzadas como añadir el comando DROP TABLE. Es muy útil si solo necesitas una parte de la base de datos.

TIP: Para la mayoría de los casos, la exportación rápida en formato SQL es más que suficiente. Es rápida, fiable y el archivo resultante es compatible con casi cualquier sistema.

Paso 4: ¡Ya tienes tu backup mysql!

El proceso de phpMyAdmin exportar es así de fácil. El archivo se descargará en tu ordenador y ya puedes guardarlo en un lugar seguro, como un disco duro externo o un servicio de almacenamiento en la nube.

Cómo restaurar una base de datos MySQL (restaurar mysql)

Tener el backup es solo la mitad del trabajo. Saber cómo restaurarlo es igual de importante. Vamos a ver cómo hacerlo con ambos métodos.

Restaurar con mysqldump (línea de comandos)

Para restaurar una copia de seguridad creada con mysqldump, el proceso es igualmente sencillo. Debes crear primero la base de datos si no existe, y luego usar el comando mysql para importar el archivo .sql.

Paso 1: Accede a MySQL como root o con un usuario con permisos de creación:

mysql -u root -p

Paso 2: Crea la base de datos si no existe (reemplaza NUEVA_BASE con el nombre que quieras):

CREATE DATABASE NUEVA_BASE;
EXIT;

Paso 3: Ahora, desde la terminal, importa el archivo de respaldo:

mysql -u USUARIO -p NUEVA_BASE < archivo_de_respaldo.sql

Te pedirá la contraseña y, si todo es correcto, los datos se importarán. Si tu archivo está comprimido, puedes descomprimirlo primero con gunzip archivo.sql.gz o usar un comando con tuberías:

gunzip < archivo_de_respaldo.sql.gz | mysql -u USUARIO -p NUEVA_BASE

Restaurar con phpMyAdmin

La restauración con phpMyAdmin es muy visual e intuitiva.

Paso 1: Entra a phpMyAdmin y selecciona la base de datos donde quieres restaurar los datos. Si no existe, puedes crearla en la pestaña "Bases de datos".

Paso 2: Ve a la pestaña "Importar".

Paso 3: Haz clic en el botón "Elegir archivo" y selecciona el archivo .sql que descargaste.

Paso 4: Deja las opciones por defecto y haz clic en el botón "Continuar". phpMyAdmin se encargará de ejecutar todas las sentencias SQL del archivo y restaurar tu base de datos.

WARNING: Al importar, es posible que sobrescribas datos existentes. Asegúrate de estar importando en la base de datos correcta. Si tu archivo SQL contiene el comando DROP TABLE, las tablas existentes se eliminarán y se recrearán con los datos del backup.

Consejos finales y mejores prácticas para tu backup mysql

Aquí tienes una lista de consejos para que tu estrategia de copias de seguridad sea impecable:

  • Frecuencia: Realiza copias de seguridad con regularidad. La frecuencia depende de la actividad de tu web. Si publicas contenido a diario, haz un backup diario. Si es un sitio más estático, una copia semanal puede ser suficiente.
  • Almacenamiento: Guarda tus copias de seguridad en al menos dos lugares diferentes. Por ejemplo, una en tu servidor y otra en un servicio de nube (Google Drive, Dropbox, Amazon S3). Esta es la regla de oro de la seguridad.
  • Prueba tus backups: No esperes a una emergencia para saber si tu backup funciona. Restaura una copia en un entorno de prueba de vez en cuando para verificar que el proceso es correcto y que los datos están íntegros.
  • Seguridad: Protege tus archivos de backup. Contienen información sensible de tu negocio. Si los guardas en tu servidor, asegúrate de que no sean accesibles públicamente.
  • Nombres descriptivos: Usa nombres de archivo que incluyan la fecha y la hora del backup (mipagina_2024-05-20.sql). Así podrás identificar fácilmente qué copia es la más reciente.

Preguntas frecuentes (FAQ)

¿Qué es mejor, mysqldump o phpMyAdmin?

mysqldump es más potente y flexible, ideal para automatizar y manejar bases de datos grandes. phpMyAdmin es más fácil de usar para principiantes y perfecto para tareas puntuales. No hay una respuesta única; depende de tu nivel de comodidad y tus necesidades.

¿Puedo hacer una copia de seguridad de varias bases de datos a la vez con mysqldump?

Sí, puedes usar la opción --all-databases para respaldar todas las bases de datos del servidor, o --databases seguido de una lista de nombres para respaldar varias específicas.

¿El backup de la base de datos incluye los archivos de mi web (imágenes, plugins, etc.)?

No. El backup mysql solo incluye los datos de la base de datos (texto, configuraciones, etc.). Los archivos del sitio web (imágenes, vídeos, código) se respaldan por separado, normalmente comprimiendo la carpeta del sitio. Asegúrate de hacer ambos tipos de copias.

¿Qué hago si mi backup de phpMyAdmin da error al importar?

Asegúrate de que el archivo no esté corrupto y de que estás importando en el formato correcto. Si el archivo es muy grande, puede haber límites de tiempo o de tamaño en tu servidor. Intenta usar la versión comprimida (.gz) del archivo.

¿Es seguro guardar mi backup en el mismo servidor que mi web?

Es una práctica común, pero no es la más segura. Si el servidor falla por completo, perderás tanto tu web como tu backup. Siempre es mejor tener una copia en un lugar externo.

Con esta guía completa, ya tienes todo lo necesario para proteger tu información. No lo dejes para mañana, haz tu primer backup mysql hoy mismo y duerme tranquilo sabiendo que tus datos están a salvo.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel