Cómo migrar una base de datos MySQL entre dos servidores con DirectAdmin
Antes de empezar: ¿Qué necesitas para migrar tu base de datos?
Migrar una base de datos MySQL entre dos servidores con DirectAdmin puede sonar a algo complicado, pero te aseguro que con esta guía lo harás sin problemas, incluso si nunca has hecho algo así antes. La migración consiste, básicamente, en hacer una copia de seguridad de la base de datos en el servidor de origen y restaurarla en el servidor de destino. Es un proceso muy común cuando cambias de hosting, renuevas tu servidor o necesitas mover tu web a un equipo más potente.
Para que todo vaya sobre ruedas, necesitarás tener a mano lo siguiente:
-
Acceso al panel de control DirectAdmin de ambos servidores: el de origen (donde está tu base de datos actual) y el de destino (donde quieres tenerla).
-
Las credenciales de acceso a tu cuenta de hosting (usuario y contraseña).
-
Los datos de acceso a tu base de datos MySQL: nombre de la base de datos, nombre de usuario y contraseña. Si no los recuerdas, no te preocupes, te enseño a encontrarlos en DirectAdmin.
-
Un gestor de archivos o acceso por FTP/SFTP para poder subir el archivo de copia de seguridad al servidor de destino. También puedes usar el Administrador de Archivos de DirectAdmin, que es más sencillo.
-
Tiempo y paciencia. Dependiendo del tamaño de tu base de datos, el proceso puede tardar desde unos segundos hasta varios minutos.
Antes de lanzarte, es recomendable que hagas una copia de seguridad completa de tu sitio web en el servidor de origen. Así, si algo sale mal durante la migración, podrás volver al estado inicial sin perder nada. En DirectAdmin, puedes hacerlo desde la sección "Backup" o "Copia de seguridad" del panel.
[INFO] Si tu web usa un CMS como WordPress, Joomla o PrestaShop, además de la base de datos, tendrás que migrar los archivos del sitio (las carpetas donde está instalado). Esta guía se centra solo en la base de datos, pero ten en cuenta que necesitarás mover también los archivos para que la web funcione correctamente en el nuevo servidor.
Paso 1: Localizar tu base de datos en el servidor de origen
Lo primero que debes hacer es entrar en el panel de DirectAdmin del servidor donde tienes tu base de datos actual. Una vez dentro, busca la sección que se llama "MySQL Management" o "Administración de MySQL". Normalmente está en la parte de "Cuenta" o "Gestión de bases de datos".
Dentro de esa sección, verás un listado con todas las bases de datos que tienes en tu cuenta. Identifica la que quieres migrar. A menudo, el nombre de la base de datos suele ser algo como usuario_nombrebasededatos. Apunta bien el nombre exacto, porque lo necesitarás más adelante.
¿Cómo saber el nombre de usuario y la contraseña de la base de datos?
En la misma pantalla de "MySQL Management", junto al nombre de cada base de datos, suele aparecer el nombre de usuario asociado. Si no ves la contraseña, no te preocupes, es normal que esté oculta por seguridad. Si no la recuerdas, tendrás que restablecerla. En DirectAdmin, normalmente puedes hacer clic en el icono de "cambiar contraseña" o "editar" junto al usuario de la base de datos. Te recomiendo que la cambies antes de la migración y la uses para exportar, para evitar problemas de permisos.
[WARNING] Cambiar la contraseña de la base de datos puede afectar a tu sitio web si está conectado a ella. Si cambias la contraseña, tendrás que actualizar también el archivo de configuración de tu web (por ejemplo, wp-config.php en WordPress) con la nueva contraseña. Si no estás seguro de cómo hacerlo, es mejor que intentes exportar la base de datos con la contraseña actual y, si falla, entonces cámbiala.
Paso 2: Exportar la base de datos MySQL desde DirectAdmin (servidor de origen)
Ahora que ya sabes exactamente qué base de datos vas a mover, es hora de exportarla. Exportar no es más que crear un archivo de texto con todo el contenido de la base de datos: las tablas, los datos, las estructuras, etc. Este archivo se llama "dump" o "copia de seguridad".
Opción A: Exportar desde el Administrador de Archivos de DirectAdmin (más visual y fácil)
-
En el panel de DirectAdmin del servidor de origen, ve a la sección "File Manager" o "Administrador de Archivos".
-
Navega hasta la carpeta donde quieres guardar el archivo de copia. Puede ser la carpeta principal de tu cuenta (
public_htmlo una carpeta temporal comobackups). Te recomiendo crear una carpeta llamadabackupspara tenerlo todo ordenado. -
Una vez en la carpeta, busca el icono que dice "MySQL Databases" o similar. No es un archivo, sino una herramienta que te permite gestionar las bases de datos desde el administrador de archivos. Al hacer clic, se abrirá una ventana o sección donde verás listadas tus bases de datos.
-
Al lado de la base de datos que quieres exportar, verás un botón o icono que dice "Download" o "Descargar". Haz clic en él.
-
Se generará un archivo con extensión
.sql(por ejemplo,mibasededatos.sql) y comenzará la descarga a tu ordenador. Este archivo es tu copia de seguridad.
Opción B: Exportar con phpMyAdmin (más control sobre el proceso)
-
En DirectAdmin, busca el icono o enlace a "phpMyAdmin". Suele estar en la sección de "MySQL Management" o en "Advanced Features".
-
Al abrir phpMyAdmin, te pedirá que selecciones el servidor (normalmente es "localhost") y que te autentiques con tu usuario y contraseña de MySQL. Usa los datos que has localizado antes.
-
En el panel izquierdo, verás la lista de tus bases de datos. Haz clic en el nombre de la base de datos que quieres exportar para seleccionarla.
-
En la parte superior, verás una pestaña que dice "Exportar" o "Export". Haz clic en ella.
-
Se abrirá una página con opciones de exportación. Te recomiendo dejar las opciones por defecto, que suelen ser "Rápida" y "SQL". Asegúrate de que el método de exportación sea "SQL" y haz clic en el botón "Continuar" o "Exportar".
-
Se descargará un archivo con extensión
.sqla tu ordenador.
[TIP] Si tu base de datos es muy grande (más de 50 MB), la exportación puede tardar o incluso fallar. En ese caso, te recomiendo usar la opción de exportación "Personalizada" en phpMyAdmin y marcar la opción "Comprimir" con "gzip". Esto generará un archivo .sql.gz mucho más pequeño y fácil de manejar.
Paso 3: Subir el archivo de copia de seguridad al servidor de destino
Ahora que tienes el archivo .sql (o .sql.gz) en tu ordenador, el siguiente paso es llevarlo al servidor de destino. Tienes dos opciones principales:
Opción A: Subir el archivo con el Administrador de Archivos de DirectAdmin
-
Entra en el panel de DirectAdmin del servidor de destino.
-
Ve a "File Manager" o "Administrador de Archivos".
-
Navega hasta la carpeta donde quieras subir el archivo. Al igual que antes, puedes usar una carpeta
backupso directamente la carpetapublic_htmlsi prefieres. -
Busca el botón "Upload" o "Subir" en la barra de herramientas. Se abrirá una ventana para que selecciones el archivo desde tu ordenador.
-
Selecciona el archivo
.sqlque descargaste y súbelo. Espera a que termine la subida.
Opción B: Subir el archivo por FTP/SFTP
Si te sientes más cómodo con un cliente FTP como FileZilla, puedes usarlo. Conecta a tu servidor de destino con tus credenciales FTP y sube el archivo a la carpeta que prefieras.
[INFO] La subida por FTP suele ser más rápida y fiable para archivos grandes. Si tu base de datos es muy pesada, esta es la mejor opción.
Paso 4: Crear una base de datos vacía en el servidor de destino
Antes de importar el archivo .sql, necesitas tener una base de datos vacía en el servidor de destino. No puedes importar los datos directamente sin que exista la base de datos.
-
En el panel de DirectAdmin del servidor de destino, ve a "MySQL Management".
-
Busca la opción que dice "Create New Database" o "Crear nueva base de datos".
-
Te pedirá que pongas un nombre para la base de datos y un nombre de usuario y contraseña. Puedes usar el mismo nombre que tenías en el servidor de origen, pero ten en cuenta que el nombre completo de la base de datos suele llevar el prefijo de tu usuario (por ejemplo,
usuario_nuevabase). Si el nombre ya existe, tendrás que elegir otro. -
Rellena los campos: nombre de la base de datos, nombre de usuario y contraseña (o genera una automáticamente). Haz clic en "Create" o "Crear".
-
Ahora ya tienes una base de datos vacía lista para recibir los datos.
[WARNING] Es muy importante que el usuario que crees tenga todos los privilegios sobre la base de datos. DirectAdmin suele asignar todos los privilegios por defecto al crear la base de datos y su usuario. Si no estás seguro, revisa que los permisos estén marcados antes de continuar.
Paso 5: Importar la base de datos MySQL en el servidor de destino
Este es el paso final y el más emocionante. Ahora vas a meter todos los datos de tu archivo .sql en la base de datos vacía que acabas de crear.
Opción A: Importar desde el Administrador de Archivos de DirectAdmin
-
En el "Administrador de Archivos" del servidor de destino, navega hasta la carpeta donde subiste el archivo
.sql. -
Localiza el archivo y haz clic derecho sobre él (o usa el menú contextual). Busca la opción que dice "Import" o "Importar". También puede aparecer como "Restore" o "Restaurar".
-
Se abrirá una ventana o sección donde te pedirá que selecciones la base de datos de destino. Elige la base de datos vacía que creaste en el paso anterior.
-
Haz clic en "Import" o "Importar". Comenzará el proceso de importación. Puede tardar unos segundos o minutos, dependiendo del tamaño del archivo.
-
Cuando termine, verás un mensaje de éxito o un resumen de la importación.
Opción B: Importar con phpMyAdmin
-
Abre phpMyAdmin en el servidor de destino e inicia sesión con el usuario y contraseña de la base de datos que creaste.
-
En el panel izquierdo, selecciona la base de datos vacía (haz clic en su nombre).
-
En la parte superior, ve a la pestaña "Importar" o "Import".
-
En la sección "Archivo a importar", haz clic en "Examinar" o "Elegir archivo" y selecciona el archivo
.sqlque subiste al servidor. Si comprimiste el archivo con gzip, también puedes subirlo directamente, phpMyAdmin lo descomprime automáticamente. -
Deja las demás opciones por defecto y haz clic en el botón "Continuar" o "Importar".
-
Espera a que se complete el proceso. Verás un mensaje de confirmación al final.
[TIP] Si tu archivo es muy grande y la importación falla por tiempo de espera, puedes intentar dividir el archivo .sql en partes más pequeñas o usar la línea de comandos si tienes acceso SSH. Pero para la mayoría de los casos, las opciones de DirectAdmin y phpMyAdmin funcionan perfectamente.
Paso 6: Verificar que la migración se ha realizado correctamente
Una vez importada la base de datos, es crucial comprobar que todo está en orden. No querrás darte cuenta más tarde de que faltan tablas o datos.
-
Ve a phpMyAdmin en el servidor de destino y selecciona la base de datos que acabas de importar.
-
En el panel izquierdo, deberías ver todas las tablas que tenía tu base de datos original. Revisa que el número de tablas coincide con el que tenía en el servidor de origen.
-
Haz clic en alguna tabla importante (por ejemplo, la de usuarios o la de contenido) y ve a la pestaña "Examinar" o "Browse" para ver si hay datos. Deberías ver los registros.
-
Si tienes acceso a tu sitio web (aunque sea temporalmente), intenta acceder a alguna página que use esa base de datos para ver si funciona correctamente.
Conclusión: ¡Tu base de datos ya está en el nuevo servidor!
¡Enhorabuena! Has migrado tu base de datos MySQL de un servidor a otro usando DirectAdmin. Como has visto, el proceso se divide en dos grandes partes: exportar (sacar los datos del servidor viejo) e importar (meterlos en el servidor nuevo). Con las herramientas que te he mostrado (el Administrador de Archivos y phpMyAdmin), es algo que puedes hacer tú mismo sin necesidad de ser un experto.
Recuerda que este es solo uno de los pasos para migrar una web completa. También tendrás que mover los archivos del sitio y actualizar las configuraciones (como las DNS o los archivos de conexión a la base de datos) para que todo apunte al nuevo servidor.
Preguntas frecuentes (FAQ)
¿Puedo migrar varias bases de datos a la vez?
Sí, puedes repetir los pasos de exportación e importación para cada base de datos que necesites mover. En DirectAdmin, también puedes usar la herramienta de "Backup" para hacer una copia de seguridad completa de tu cuenta, que incluye todas las bases de datos, y luego restaurarla en el servidor de destino. Esta es una opción muy útil si vas a migrar todo tu hosting.
¿Qué hago si la importación falla?
Lo primero es no asustarte. Los fallos más comunes son por archivos demasiado grandes, problemas de permisos o errores en el archivo .sql. Revisa el mensaje de error que te da. Si es por tamaño, prueba a comprimir el archivo o usar la línea de comandos. Si es por permisos, verifica que el usuario de la base de datos tiene todos los privilegios. Si el archivo está dañado, tendrás que exportarlo de nuevo.
¿Es seguro hacer la migración con la web en producción?
No es lo más recomendable, ya que si alguien modifica un dato en tu web mientras exportas, ese cambio no se verá reflejado en la copia. Lo ideal es poner la web en modo mantenimiento o hacer la migración en horas de bajo tráfico. Si tu web es muy dinámica, considera hacer una copia de seguridad justo antes de cambiar las DNS al nuevo servidor.
¿Necesito conocimientos avanzados para hacer esto?
No, para nada. Esta guía está pensada para que cualquier persona, aunque no tenga experiencia técnica, pueda seguir los pasos. Solo necesitas tener acceso a los paneles de DirectAdmin de ambos servidores y seguir las instrucciones al pie de la letra. Si te pierdes en algún punto, vuelve a leer el paso correspondiente.
¿Qué hago con la base de datos del servidor de origen después de la migración?
Una vez que hayas verificado que la migración fue exitosa y que tu web funciona correctamente en el nuevo servidor, puedes eliminar la base de datos del servidor de origen para ahorrar espacio. Sin embargo, te recomiendo que la mantengas durante unos días como copia de seguridad extra, por si acaso.
Espero que esta guía te haya sido de gran ayuda. Si tienes alguna duda o te surge algún problema, no dudes en contactar con tu proveedor de hosting. ¡Mucha suerte con tu migración!
