Guía para migrar bases de datos entre servidores en DirectAdmin
Introducción: ¿Por qué migrar una base de datos?
Migrar una base de datos entre servidores es una tarea común cuando cambias de hosting, actualizas tu plan o simplemente buscas un mejor rendimiento para tu sitio web. Si usas DirectAdmin como panel de control, el proceso puede ser sencillo si sigues los pasos correctos. En esta guía te explicaremos cómo migrar base de datos de un servidor a otro usando herramientas nativas de DirectAdmin, comandos de MySQL y buenas prácticas para evitar perder información.
Piensa en tu base de datos como el cerebro de tu sitio web: guarda usuarios, productos, comentarios y configuraciones. Si la migración se hace mal, podrías perder datos importantes. Por eso, aquí te damos una guía paso a paso clara y segura.
Requisitos previos antes de migrar
Antes de comenzar, asegúrate de tener lo siguiente:
- Acceso a DirectAdmin en ambos servidores (origen y destino).
- Credenciales de MySQL (usuario, contraseña y nombre de la base de datos).
- Conexión SSH o FTP para transferir archivos.
- Copia de seguridad de tu base de datos (por si algo sale mal).
- Espacio suficiente en el servidor de destino.
[WARNING] Nunca migres una base de datos sin hacer una copia de seguridad primero. Un error de conexión o un corte de luz puede dejarte sin datos.
Método 1: Migrar usando phpMyAdmin (para principiantes)
Si no te sientes cómodo con la línea de comandos, phpMyAdmin es tu mejor aliado. Este método es visual y no requiere conocimientos técnicos avanzados.
Paso 1: Exportar la base de datos desde el servidor origen
- Inicia sesión en DirectAdmin del servidor de origen.
- Ve a la sección "MySQL Management" y haz clic en "phpMyAdmin".
- Selecciona la base de datos que quieres migrar (aparece en la columna izquierda).
- Haz clic en la pestaña "Exportar".
- Elige el método "Rápido" y formato SQL.
- Haz clic en "Continuar" y descarga el archivo
.sqla tu computadora.
Paso 2: Importar la base de datos en el servidor destino
- En el servidor de destino, crea una nueva base de datos vacía desde DirectAdmin > MySQL Management.
- Anota el nombre de la base, el usuario y la contraseña.
- Abre phpMyAdmin en el servidor destino.
- Selecciona la base de datos vacía que acabas de crear.
- Ve a la pestaña "Importar".
- Haz clic en "Seleccionar archivo" y sube el archivo
.sqlque descargaste. - Haz clic en "Continuar" y espera a que termine.
[TIP] Si la base de datos es muy grande (más de 50 MB), usa el método SSH para evitar errores de tiempo de espera.
Método 2: Migrar usando comandos SSH (más rápido y seguro)
Para bases de datos grandes o si tienes acceso SSH, este método es más eficiente.
Paso 1: Exportar desde el servidor origen
Conéctate por SSH al servidor de origen y ejecuta:
mysqldump -u usuario -p nombre_base > respaldo.sql
Te pedirá la contraseña del usuario MySQL. El archivo respaldo.sql se creará en el directorio actual.
Paso 2: Transferir el archivo al servidor destino
Usa scp (copia segura) para transferir el archivo:
scp respaldo.sql usuario@servidor_destino:/ruta/destino/
Si no tienes scp, puedes usar FTP o descargar el archivo con wget desde un enlace temporal.
Paso 3: Importar en el servidor destino
Conéctate por SSH al servidor destino y ejecuta:
mysql -u usuario -p nombre_base < respaldo.sql
Ingresa la contraseña y espera a que termine. Verifica que no haya errores.
[INFO] Si tu base de datos tiene muchas tablas, este proceso puede tardar varios minutos. No interrumpas la conexión.
Método 3: Migrar usando la herramienta de copia de seguridad de DirectAdmin
DirectAdmin incluye una función de respaldo que facilita la migración de bases de datos junto con el resto de tu sitio.
Paso 1: Crear un respaldo en el servidor origen
- En DirectAdmin, ve a "Admin Backup/Transfer".
- Selecciona la opción "Create Backup".
- Marca la casilla "MySQL Databases" y cualquier otro elemento que quieras migrar (por ejemplo, archivos del sitio).
- Elige el destino (por ejemplo, "Home directory").
- Haz clic en "Create Backup" y espera a que termine.
Paso 2: Transferir el respaldo al servidor destino
Descarga el archivo de respaldo (generalmente en /home/admin/admin_backups/) y súbelo al servidor destino mediante FTP o SCP.
Paso 3: Restaurar en el servidor destino
- En DirectAdmin del servidor destino, ve a "Admin Backup/Transfer".
- Selecciona "Restore Backup".
- Sube el archivo de respaldo o selecciona si ya está en el servidor.
- Marca las opciones que deseas restaurar (bases de datos, cuentas de usuario, etc.).
- Haz clic en "Restore" y espera.
[WARNING] Este método restaura toda la cuenta de usuario. Si solo quieres la base de datos, es mejor usar los métodos anteriores.
Configuración post-migración
Una vez que la base de datos está en el nuevo servidor, debes ajustar algunos parámetros:
Actualizar credenciales en tu aplicación
- Busca el archivo de configuración de tu sitio (por ejemplo,
wp-config.phpen WordPress,.enven Laravel). - Cambia el nombre de la base de datos, usuario y contraseña por los del nuevo servidor.
- Si el servidor destino tiene un host diferente (ej:
localhostvsmysql.servidor.com), actualiza también ese valor.
Verificar conexión
- Accede a tu sitio web y comprueba que funcione correctamente.
- Revisa que los datos (usuarios, productos, etc.) se muestren sin errores.
[TIP] Si tu sitio usa Syspanel (antes HestiaCP) en el puerto 2106, el proceso es similar: exporta desde phpMyAdmin o usa
mysqldumpdesde la terminal SSH.
Solución de problemas comunes
Error "Access denied for user"
- Verifica que el usuario MySQL tenga permisos sobre la base de datos.
- En DirectAdmin, ve a "MySQL Management" y asigna el usuario a la base de datos.
Error "Table doesn't exist"
- Asegúrate de que la importación se completó sin errores.
- Si el archivo SQL tiene instrucciones de creación de tablas, revisa que no haya conflictos con tablas existentes.
Base de datos muy grande y phpMyAdmin se cuelga
- Usa el método SSH (explicado arriba) o divide el archivo SQL en partes más pequeñas con herramientas como
split.
Preguntas frecuentes (FAQ)
¿Puedo migrar solo una tabla en lugar de toda la base de datos?
Sí, en phpMyAdmin puedes seleccionar tablas específicas al exportar. En SSH, usa:
mysqldump -u usuario -p nombre_base tabla1 tabla2 > respaldo_tablas.sql
¿Qué hago si olvido la contraseña de MySQL?
En DirectAdmin, puedes cambiar la contraseña desde "MySQL Management" seleccionando el usuario y haciendo clic en "Change Password".
¿La migración afecta el rendimiento del sitio?
Solo durante el proceso de importación. Una vez terminado, el sitio debería funcionar igual o mejor si el nuevo servidor tiene mejores recursos.
¿Es necesario migrar también los archivos del sitio?
Depende. Si cambias de servidor, sí, porque los archivos (PHP, imágenes, etc.) también deben estar en el nuevo lugar. Si solo mueves la base de datos a otro servidor (por ejemplo, a un servidor de bases de datos externo), solo necesitas migrar la BD.
¿Puedo usar la misma base de datos en dos servidores a la vez?
No es recomendable porque puede causar conflictos de escritura. Si necesitas alta disponibilidad, configura una réplica de MySQL.
Conclusión
Migrar bases de datos entre servidores en DirectAdmin no tiene por qué ser complicado. Ya sea que uses phpMyAdmin, comandos SSH o las herramientas nativas del panel, lo importante es planificar bien, hacer copias de seguridad y verificar cada paso.
Recuerda que la práctica hace al maestro. Si es la primera vez que haces una migración, te sugerimos probar primero con una base de datos de prueba. Así ganarás confianza y evitarás errores costosos.
Si tienes dudas, no dudes en consultar la documentación oficial de DirectAdmin o contactar a tu proveedor de hosting. ¡Buena suerte con tu migración!
