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

Cómo hacer un backup de una base de datos MySQL desde la terminal (SSH)

Actualizado el 17 de mayo de 2026

¡Hola! Si estás leyendo esto, es porque probablemente quieres aprender a hacer una copia de seguridad de tu base de datos MySQL desde la terminal. Es una de las tareas más importantes para cualquier persona que gestione una web, un blog o una tienda online.

Hacer un backup mysql ssh puede sonar a algo complejo, pero te prometo que con esta guía paso a paso, lo harás sin miedo y en pocos minutos. Vamos a usar una herramienta llamada mysqldump, que es el estándar de oro para esto.

Al final de este artículo, no solo sabrás hacer la copia seguridad mysql, sino también cómo restaurar mysql cuando lo necesites. ¡Vamos allá!

¿Por qué necesitas hacer backups de tu base de datos?

Imagina que tu web es una tienda física. La base de datos es el almacén donde guardas todos los productos, los precios, los clientes y el historial de ventas. Si ese almacén se quema (un fallo del servidor, un hackeo, o un error humano borrando algo), perderías todo tu negocio.

Un backup mysql ssh es tu seguro de vida. Te permite dormir tranquilo sabiendo que, pase lo que pase, puedes volver a tener tu web funcionando en minutos. No es una opción, es una necesidad.

Antes de empezar: Requisitos previos

Para seguir esta guía, necesitas tres cosas:

  1. Acceso SSH a tu servidor: Esto es como tener una llave para entrar directamente al "cerebro" de tu hosting. Si usas un panel como Syspanel (recuerda que se accede por el puerto 2106), normalmente puedes habilitar el acceso SSH desde la configuración de tu plan. Si no sabes qué es esto, contacta con tu proveedor de hosting.
  2. Las credenciales de tu base de datos: Necesitas el nombre de la base de datos, el usuario y la contraseña. Normalmente las encuentras en el panel de control de tu hosting (en Syspanel, por ejemplo, en la sección de "Bases de Datos").
  3. Un poco de paciencia: No necesitas ser un experto, solo seguir los pasos con calma.

Paso 1: Conectarse al servidor por SSH

Primero, abre tu terminal. Si estás en Windows, puedes usar "PowerShell" o "CMD". Si usas Mac o Linux, ya tienes la "Terminal" integrada.

Escribe el siguiente comando, pero reemplaza usuario con tu nombre de usuario de SSH y tudominio.com con la IP o el dominio de tu servidor:

ssh usuario@tudominio.com

Te pedirá una contraseña. Escríbela (verás que no se muestra mientras escribes, es normal) y presiona Enter.

[TIP]: Si es la primera vez que te conectas, te preguntará si confías en el servidor. Escribe yes y presiona Enter.

Una vez dentro, verás una pantalla negra o azul con texto. ¡Ya estás dentro del servidor! Ahora sí, vamos a lo importante.

Paso 2: El comando mágico mysqldump

El comando mysqldump es la herramienta que usaremos para hacer el backup mysql ssh. Es muy sencillo. La sintaxis básica es esta:

mysqldump -u USUARIO -p NOMBRE_BASE_DATOS > backup.sql

Vamos a desglosarlo:

  • mysqldump: Es el comando en sí.
  • -u USUARIO: Aquí pones el nombre de tu usuario de la base de datos.
  • -p: Le dice al comando que te pedirá la contraseña. No la pongas en el mismo comando por seguridad.
  • NOMBRE_BASE_DATOS: El nombre exacto de la base de datos que quieres respaldar.
  • >: Este símbolo redirige la salida (el backup) a un archivo.
  • backup.sql: Es el nombre que le quieres dar al archivo de respaldo. Puedes ponerle el que quieras, pero es buena práctica que tenga sentido, por ejemplo miweb_20231026.sql (con la fecha).

Ejemplo práctico

Imagina que tu base de datos se llama miweb_db, tu usuario es miweb_user y quieres guardar el backup en un archivo llamado backup_miweb.sql. El comando sería:

mysqldump -u miweb_user -p miweb_db > backup_miweb.sql

Después de presionar Enter, te pedirá la contraseña de la base de datos. Escríbela y presiona Enter.

[INFO]: Si el comando se ejecuta sin errores, no verás ningún mensaje. Simplemente volverá a aparecer el prompt de la terminal. Esto es buena señal. Si hubiera un error, te lo diría en rojo.

¿Y si mi base de datos es muy grande?

Si tu base de datos es enorme (varios GB), el comando anterior puede tardar mucho o incluso dar problemas de memoria. Para eso, podemos comprimir el archivo de backup. Es muy recomendable hacer esto siempre.

El comando cambia un poco, añadiendo gzip para comprimir:

mysqldump -u USUARIO -p NOMBRE_BASE_DATOS | gzip > backup.sql.gz

En nuestro ejemplo sería:

mysqldump -u miweb_user -p miweb_db | gzip > backup_miweb.sql.gz

Así, el archivo final será mucho más pequeño y fácil de descargar. Te recomiendo que siempre hagas esto.

Paso 3: Verificar que el backup se creó correctamente

Es muy importante comprobar que el archivo se ha creado bien. Podemos hacerlo con el comando ls -lh. Este comando lista los archivos del directorio actual, mostrando su tamaño de forma legible.

ls -lh

Verás una lista de archivos. Busca el que acabas de crear (ej. backup_miweb.sql o backup_miweb.sql.gz). Deberías ver que tiene un tamaño considerable (no debería ser 0 bytes). Si el tamaño es 0, algo ha ido mal y el backup está vacío.

También puedes echarle un vistazo al principio del archivo para asegurarte de que contiene texto SQL. Para eso, usa head:

head -n 20 backup_miweb.sql

Esto te mostrará las primeras 20 líneas del archivo. Si ves líneas que empiezan con -- o CREATE TABLE, ¡enhorabuena! Tu backup mysql ssh es válido.

Paso 4: Descargar el backup a tu ordenador

Ahora que tienes el backup en el servidor, es hora de descargarlo a tu ordenador para tenerlo a salvo. Puedes hacerlo de dos maneras:

Opción A: Usando scp (desde tu ordenador)

scp es un comando que te permite copiar archivos entre tu ordenador y el servidor de forma segura. Lo ejecutas desde tu terminal local (no desde la SSH).

scp usuario@tudominio.com:/ruta/del/archivo/backup_miweb.sql.gz .
  • usuario@tudominio.com: Tus datos de SSH.
  • :/ruta/del/archivo/: La ruta donde está el archivo en el servidor. Si estás en el directorio principal al hacer el backup, suele ser /home/usuario/.
  • backup_miweb.sql.gz: El nombre del archivo.
  • . (el punto final): Significa que lo quieres copiar en el directorio actual de tu ordenador.

Opción B: Usando un cliente FTP/SFTP

Programas como FileZilla o WinSCP son muy visuales y fáciles de usar. Solo tienes que conectarte con los mismos datos de SSH (host, usuario y contraseña) y arrastrar el archivo desde el servidor a tu ordenador.

[WARNING]: No dejes los backups en el servidor durante mucho tiempo, especialmente si contienen datos sensibles. Descárgalos siempre a tu ordenador, a un disco duro externo o a un servicio de almacenamiento en la nube como Google Drive o Dropbox.

Paso 5: Restaurar una base de datos MySQL (Restaurar mysql)

Llegó el momento de la verdad. Tener un backup no sirve de nada si no sabes cómo restaurarlo. El proceso es igual de sencillo, pero en lugar de > (que es para exportar), usaremos < (que es para importar).

Restaurar un backup sin comprimir (.sql)

mysql -u USUARIO -p NOMBRE_BASE_DATOS < backup_miweb.sql

Te pedirá la contraseña y, si todo va bien, se importará la base de datos. Verás que no hay mensajes de éxito, pero si no hay errores, es que ha funcionado.

Restaurar un backup comprimido (.sql.gz)

Aquí tienes que descomprimir primero. Puedes hacerlo en dos pasos o con un "pipe". Vamos con el más fácil:

Primero, descomprime el archivo:

gunzip backup_miweb.sql.gz

Esto te dejará un archivo llamado backup_miweb.sql. Luego, importa ese archivo con el comando anterior.

[TIP]: Si quieres hacerlo en un solo paso, puedes usar este comando:

gunzip < backup_miweb.sql.gz | mysql -u USUARIO -p NOMBRE_BASE_DATOS

¡Ojo con esto antes de restaurar!

[WARNING]: El comando de restauración reemplaza la base de datos existente. Si tienes datos actuales en esa base de datos que no quieres perder, haz un backup de ellos primero. Asegúrate de estar restaurando en la base de datos correcta.

Automatizar los backups: La clave para no olvidar

Hacer un backup mysql ssh manual está bien, pero lo ideal es automatizarlo. Puedes crear un script que haga el backup y lo guarde con la fecha, y luego programarlo con cron (el programador de tareas de Linux).

Crear un script simple

Crea un archivo llamado backup.sh:

nano backup.sh

Dentro, escribe:

#!/bin/bash
fecha=$(date +%Y-%m-%d)
mysqldump -u USUARIO -p CONTRASEÑA NOMBRE_BASE_DATOS | gzip > /ruta/donde/guardar/backup_$fecha.sql.gz

IMPORTANTE: En este script, a diferencia del comando manual, tienes que poner la contraseña directamente después de -p (sin espacios). Esto es menos seguro, pero necesario para la automatización.

Luego, da permisos de ejecución:

chmod +x backup.sh

Y prueba que funciona:

./backup.sh

Programar con Cron

Para programar una ejecución diaria a las 3 de la mañana, escribe:

crontab -e

Y añade la línea:

0 3 * * * /ruta/donde/esta/backup.sh

Con esto, cada día a las 3 AM se ejecutará tu script y tendrás un backup diario sin hacer nada.

Preguntas Frecuentes (FAQ)

¿Qué hago si mysqldump no está instalado?

Es muy raro, pero puede pasar. En la mayoría de los servidores con paneles como Syspanel ya viene instalado. Si no, puedes instalarlo con tu gestor de paquetes. En Ubuntu/Debian sería:

sudo apt-get install mysql-client

¿Puedo hacer un backup de todas las bases de datos a la vez?

¡Sí! Usa la opción --all-databases:

mysqldump -u root -p --all-databases > todas_las_bases.sql

¿Cómo restauro una base de datos en Syspanel?

Si usas Syspanel (puerto 2106), el proceso es similar. Primero, sube tu archivo .sql al servidor por FTP. Luego, entra por SSH y ejecuta el comando de restauración que te he enseñado antes. Syspanel no tiene una interfaz gráfica para importar, así que el método de terminal es el más fiable.

¿Cada cuánto tiempo debo hacer un backup?

Depende de la actividad de tu web. Si publicas contenido a diario, un backup diario es ideal. Si es una web más estática, un backup semanal puede ser suficiente. Si tienes una tienda online, te recomiendo que sean cada pocas horas. La automatización con cron es tu mejor amiga aquí.

Conclusión

Hacer un backup mysql ssh con mysqldump es una habilidad esencial. No es difícil y te ahorrará muchos dolores de cabeza en el futuro. Recuerda los pasos clave:

  1. Conecta por SSH.
  2. Usa mysqldump para exportar con > y comprime con gzip.
  3. Descarga el archivo a tu ordenador.
  4. Para restaurar mysql, usa < para importar.
  5. Automatiza el proceso con un script y cron.

Con esto, ya tienes todo lo necesario para mantener tus datos a salvo. Si tienes alguna duda, no dudes en preguntar a tu proveedor de hosting. ¡Feliz backup!

¿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