Cómo hacer una copia de seguridad de una base de datos MySQL en DirectAdmin (phpMyAdmin y SSH)
¿Por qué es tan importante hacer un backup de tu base de datos?
Imagina que llevas meses escribiendo un libro, y un día tu ordenador se estropea y pierdes todo el texto. Con tu base de datos pasa exactamente lo mismo, pero con un agravante: no solo pierdes el contenido de tu web, sino también la configuración, los usuarios, los pedidos y toda la información que hace funcionar tu negocio online.
Hacer una copia de seguridad de una base de datos MySQL en DirectAdmin no es un lujo, es una necesidad. Y no, no vale con hacerlo una vez al año. Los expertos recomiendan realizar backups diarios o, como mínimo, semanales si tu web se actualiza con frecuencia. La buena noticia es que el proceso es mucho más sencillo de lo que crees, y en este artículo te lo voy a explicar paso a paso, tanto con la herramienta gráfica phpMyAdmin como con comandos SSH para los más atrevidos.
Antes de empezar: ¿Qué necesitas?
Para realizar un backup mysql directadmin vas a necesitar tres cosas básicas:
- Acceso a tu panel de control DirectAdmin (con permisos de administrador o de usuario con acceso a bases de datos).
- Saber el nombre de tu base de datos y el usuario asociado (normalmente empiezan con el prefijo de tu cuenta, algo así como
usuario_basededatos). - Si vas a usar SSH, necesitarás las credenciales de acceso al servidor (IP, puerto, usuario y contraseña o clave SSH).
[INFO] Si tu web está alojada en un servidor con Syspanel (antes conocido como HestiaCP), el acceso a la gestión de bases de datos se hace a través del puerto 2106. El proceso es similar, pero los nombres de las herramientas pueden variar ligeramente.
Método 1: Backup con phpMyAdmin (el más fácil para principiantes)
Este es el método estrella para quienes no quieren complicarse la vida. phpMyAdmin backup es una interfaz web que te permite gestionar tus bases de datos de forma visual, sin escribir ni una sola línea de código.
Paso 1: Accede a DirectAdmin y localiza phpMyAdmin
Entra en tu panel de DirectAdmin con tu usuario y contraseña. Una vez dentro, busca la sección "MySQL Management" o "Bases de Datos MySQL". Allí verás un listado con todas tus bases de datos. Junto a cada una, suele aparecer un icono o enlace que dice "phpMyAdmin". Haz clic en él.
Si no lo encuentras, también puedes acceder directamente escribiendo en tu navegador: https://tu-dominio.com/phpmyadmin (aunque en algunos servidores esta ruta está deshabilitada por seguridad).
Paso 2: Selecciona tu base de datos
Al entrar en phpMyAdmin, verás una columna a la izquierda con todas las bases de datos disponibles. Haz clic en el nombre de la base de datos de la que quieres hacer el backup mysql directadmin. Verás que aparecen las tablas que la componen.
Paso 3: Ve a la pestaña "Exportar"
En la parte superior de la pantalla, verás varias pestañas: "Examinar", "Estructura", "SQL", "Exportar", etc. Haz clic en "Exportar".
Paso 4: Elige el método de exportación
Aquí tienes dos opciones:
- Rápido: Exporta toda la base de datos con los valores por defecto. Es la opción más sencilla, solo tienes que hacer clic en "Continuar".
- Personalizado: Te permite elegir qué tablas exportar, el formato del archivo, si quieres incluir las sentencias DROP TABLE, etc. Si eres principiante, te recomiendo la opción rápida.
IMPORTANTE: En el apartado "Formato", asegúrate de que esté seleccionado "SQL". Este formato es universal y te permitirá importar la base de datos en cualquier otro servidor sin problemas.
Paso 5: Descarga el archivo
Una vez configurado, haz clic en "Continuar" o "Exportar". El navegador comenzará a descargar un archivo con extensión .sql. Este archivo contiene toda la información de tu base de datos: estructura, datos, índices, etc.
[TIP] Guarda siempre una copia de este archivo en un lugar seguro fuera de tu servidor, como un disco duro externo, Google Drive o Dropbox. Si el servidor falla, no querrás que tu única copia de seguridad se pierda con él.
Método 2: Backup con SSH y mysqldump (el método profesional)
Si te sientes cómodo con la línea de comandos, el mysqldump directadmin es tu mejor aliado. Este comando te permite hacer copias de seguridad completas de forma rápida y, lo más importante, puedes automatizarlas para que se ejecuten solas.
Paso 1: Conéctate a tu servidor por SSH
Necesitas un cliente SSH. Si usas Windows, puedes descargar PuTTY. Si usas Mac o Linux, abre la terminal y escribe:
ssh usuario@tu-servidor.com
Te pedirá tu contraseña (o la clave SSH). Una vez dentro, estarás en la línea de comandos de tu servidor.
Paso 2: Ubica el comando mysqldump
En la mayoría de los servidores, el comando mysqldump está en el PATH del sistema, así que podrás ejecutarlo directamente. Para comprobarlo, escribe:
which mysqldump
Si te devuelve una ruta como /usr/bin/mysqldump, estás listo. Si no, tendrás que buscar la ruta completa, normalmente en /usr/local/mysql/bin/mysqldump.
Paso 3: Ejecuta el comando de backup
El comando básico para hacer una copia seguridad base de datos es el siguiente:
mysqldump -u USUARIO -p NOMBRE_BASE_DATOS > backup.sql
Desglosemos:
-u USUARIO: es el usuario de tu base de datos (el que empieza con tu prefijo de cuenta).-p: te pedirá la contraseña de ese usuario.NOMBRE_BASE_DATOS: el nombre exacto de tu base de datos.>: redirige la salida del comando a un archivo.backup.sql: el nombre del archivo que se creará.
Por ejemplo:
mysqldump -u juan_bd -p juan_miweb > miweb_backup.sql
Te pedirá la contraseña y, tras ejecutarse, tendrás un archivo llamado miweb_backup.sql en el directorio actual.
Paso 4: Añade la fecha al nombre del archivo
Para no liarte con varias copias, es buena idea incluir la fecha en el nombre del archivo. Puedes hacerlo así:
mysqldump -u juan_bd -p juan_miweb > miweb_backup_$(date +%Y-%m-%d).sql
Esto creará un archivo tipo miweb_backup_2025-04-14.sql, imposible de confundir.
[WARNING] No olvides la contraseña. Si el comando falla por "Access denied", verifica que el usuario y la contraseña son correctos. Recuerda que el usuario de la base de datos no es el mismo que el de tu cuenta de DirectAdmin.
Cómo automatizar el backup MySQL (la clave del éxito)
Hacer backups a mano está bien, pero lo ideal es que se hagan solos. Automatizar backup mysql es más fácil de lo que parece, y con una tarea cron en tu servidor lo tendrás resuelto en 5 minutos.
Paso 1: Crea un script de backup
Conéctate por SSH y crea un archivo de script. Por ejemplo:
nano /home/usuario/backup_mysql.sh
Dentro, escribe el siguiente contenido:
#!/bin/bash
fecha=$(date +%Y-%m-%d)
mysqldump -u juan_bd -pTU_CONTRASEÑA juan_miweb > /home/usuario/backups/miweb_$fecha.sql
OJO: No dejes espacios entre -p y la contraseña. Si tu contraseña es 123456, debe quedar así: -p123456.
Guarda el archivo (Ctrl+O, Enter, Ctrl+X) y dale permisos de ejecución:
chmod +x /home/usuario/backup_mysql.sh
Paso 2: Programa la tarea cron
Ahora necesitas programar la ejecución de este script. Escribe:
crontab -e
Se abrirá un editor. Añade la siguiente línea al final:
0 3 * * * /home/usuario/backup_mysql.sh
Esto ejecutará el script todos los días a las 3 de la madrugada. Puedes cambiar la hora y la frecuencia según tus necesidades:
0 3 * * *: todos los días a las 3:00.0 3 * * 0: todos los domingos a las 3:00.0 2 */2 * *: cada dos días a las 2:00.
Guarda y cierra. ¡Ya tienes tu backup mysql directadmin automatizado!
[TIP] Te recomiendo que, además, comprimas el backup para que ocupe menos espacio. Puedes modificar el script para que use
gzip:
mysqldump -u juan_bd -p123456 juan_miweb | gzip > /home/usuario/backups/miweb_$fecha.sql.gz
Cómo restaurar una base de datos desde tu backup
De nada sirve hacer copias si no sabes restaurarlas. Aquí tienes los dos métodos.
Restaurar desde phpMyAdmin
- Entra en phpMyAdmin y selecciona la base de datos donde quieras restaurar.
- Ve a la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona tu archivo
.sql. - Haz clic en "Continuar". phpMyAdmin ejecutará las sentencias SQL y restaurará tu base de datos.
[WARNING] Al restaurar, sobrescribirás los datos existentes. Asegúrate de que estás importando en la base de datos correcta.
Restaurar desde SSH
Si tienes el archivo .sql en tu servidor, ejecuta:
mysql -u USUARIO -p NOMBRE_BASE_DATOS < backup.sql
Por ejemplo:
mysql -u juan_bd -p juan_miweb < miweb_backup.sql
Si el archivo está comprimido con gzip, primero descomprímelo:
gunzip miweb_backup.sql.gz
mysql -u juan_bd -p juan_miweb < miweb_backup.sql
Preguntas frecuentes (FAQ) sobre backups MySQL
¿Cuánto tiempo tarda en hacerse una copia de seguridad?
Depende del tamaño de tu base de datos. Una base pequeña de 10 MB tarda segundos. Una de 2 GB puede tardar varios minutos. Es normal.
¿Puedo hacer un backup de una base de datos que está en uso?
Sí, mysqldump está diseñado para hacer copias consistentes incluso mientras la base está activa. Sin embargo, si tienes una web muy transaccional (como una tienda online), es recomendable hacerlo en horas de bajo tráfico.
¿Dónde debo guardar los backups?
Nunca en el mismo servidor. Si el disco duro falla, perderás todo. Descarga los archivos a tu ordenador o súbelos a un servicio de almacenamiento en la nube.
¿Cada cuánto debo hacer un backup?
Como mínimo semanal. Si tu web se actualiza a diario (como un blog), hazlo diario. Si es una tienda online, lo ideal es cada pocas horas.
¿Qué pasa si mi base de datos es muy grande y el backup falla?
Puedes intentar aumentar el límite de memoria en phpMyAdmin o usar el comando SSH directamente, que no tiene límites de tiempo. También puedes hacer backups por tablas en lugar de toda la base de datos.
Errores comunes y cómo solucionarlos
Error: "Access denied for user"
Tu usuario de base de datos no tiene permisos suficientes o la contraseña es incorrecta. Verifica ambos datos en DirectAdmin.
Error: "mysqldump: command not found"
El comando no está en el PATH. Busca la ruta completa con find / -name mysqldump o consulta con tu proveedor de hosting.
Error: "Table doesn't exist"
Estás intentando exportar una base de datos que no existe o el nombre está mal escrito. Recuerda que los nombres en MySQL distinguen entre mayúsculas y minúsculas en algunos sistemas.
Conclusión: no hay excusa para no tener backups
Ya tienes dos métodos claros para hacer tu copia seguridad base de datos en DirectAdmin: el visual con phpMyAdmin y el profesional con SSH. Ambos son válidos, y el que elijas dependerá de tu nivel de comodidad con la tecnología.
Lo importante es que empieces hoy mismo. No esperes a que ocurra un desastre para arrepentirte. Configura tu backup manual o automatizado, guarda los archivos en un lugar seguro y prueba a restaurar una vez al mes para asegurarte de que todo funciona correctamente.
[INFO] Recuerda que si tu hosting usa Syspanel (puerto 2106), los pasos son equivalentes, solo cambia la interfaz. Busca la sección de bases de datos y encontrarás herramientas similares.
Tu web, tu negocio y tu tranquilidad dependen de esos archivos .sql. No lo dejes para mañana.
