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

Cómo migrar una base de datos MySQL de un servidor a otro (cPanel a DirectAdmin)

Actualizado el 21 de noviembre de 2025

Antes de empezar: ¿Qué necesitas para esta migración?

Migrar una base de datos MySQL de un servidor cPanel a uno con DirectAdmin puede sonar a algo muy técnico, pero te prometo que con esta guía lo harás paso a paso y sin sustos. Lo primero es tener claro qué necesitas tener a mano antes de lanzarte a la piscina.

Para migrar mysql de un panel a otro, necesitarás lo siguiente:

  • Acceso al cPanel del servidor de origen (usuario y contraseña).
  • Acceso al DirectAdmin del servidor de destino (usuario y contraseña).
  • Los datos de acceso a la base de datos (nombre de la BD, usuario y contraseña de la BD).
  • Acceso por SSH (opcional pero muy recomendado, especialmente si la base de datos es grande).
  • Una herramienta como phpMyAdmin en ambos paneles (aunque normalmente ya viene instalada).

[INFO] Si no tienes acceso por SSH, no te preocupes. Te explicaré una ruta alternativa con phpMyAdmin que funciona perfectamente para bases de datos pequeñas y medianas (menos de 1 GB).


Paso 1: Identifica los datos de tu base de datos en cPanel

Antes de mover nada, tienes que saber exactamente qué vas a transferir. Entra en tu cPanel de origen y sigue estos pasos:

  1. Busca la sección "Bases de Datos MySQL".
  2. Anota el nombre exacto de la base de datos que quieres migrar (suele tener un prefijo con tu usuario, por ejemplo: usuario_basededatos).
  3. Anota también el usuario de la base de datos y asegúrate de tener su contraseña a mano. Si no la recuerdas, puedes cambiarla desde el mismo panel (con cuidado, porque si cambias la contraseña, las aplicaciones que usan esa BD dejarán de funcionar hasta que actualices su configuración).

[TIP] Si tu web usa WordPress, Joomla o PrestaShop, los datos de la base de datos también están en el archivo de configuración (por ejemplo, wp-config.php en WordPress). Pero es más fiable consultarlo directamente en cPanel.


Paso 2: Exporta la base de datos desde cPanel (phpMyAdmin)

Ahora viene la parte de extraer los datos. Vamos a usar phpMyAdmin porque es la opción más visual y segura para principiantes.

  1. Dentro de cPanel, busca el icono de phpMyAdmin (normalmente está en la sección "Bases de Datos").
  2. En el panel izquierdo, verás la lista de tus bases de datos. Haz clic en la que quieres exportar.
  3. Arriba, verás una pestaña que dice "Exportar". Haz clic ahí.
  4. Verás dos opciones: "Rápida" y "Personalizada". Te recomiendo usar la "Personalizada" si la base de datos es grande o tiene tablas con muchos registros.
  5. En "Personalizada", asegúrate de que el "Formato" sea SQL. Deja las demás opciones por defecto, pero si quieres ser más minucioso, puedes marcar la casilla "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION" para que no haya conflictos al importar en el destino.
  6. Pulsa "Continuar" o "Exportar" (según la versión). El navegador descargará un archivo con extensión .sql.

[WARNING] Si tu base de datos es muy grande (más de 500 MB), es posible que la exportación por phpMyAdmin falle o se corte. En ese caso, salta al "Método avanzado" que te explico más abajo con SSH.


Paso 3: Prepara la base de datos en DirectAdmin

Ahora pasamos al servidor de destino, el que tiene DirectAdmin. Aquí tienes que crear una base de datos nueva y un usuario nuevo (aunque puedes usar el mismo nombre, te recomiendo crear uno específico para esta migración).

  1. Entra en tu panel de DirectAdmin.
  2. Busca la sección "MySQL Management" o "Administración de MySQL".
  3. Haz clic en "Create new database" o "Crear nueva base de datos".
  4. Te pedirá un nombre de base de datos y un usuario. DirectAdmin suele añadir un prefijo automáticamente (por ejemplo, usuario_nombrebd).
  5. Pon una contraseña segura y guárdala bien. Te la pedirán al importar y luego tendrás que actualizarla en la configuración de tu aplicación.
  6. Una vez creada, verás la nueva base de datos en la lista. No necesitas crear tablas, eso lo hará la importación.

[INFO] Si tu aplicación en el destino es la misma que en el origen, tendrás que cambiar la configuración de conexión a la BD (por ejemplo, en WordPress el archivo wp-config.php o en PrestaShop el parameters.php). No te olvides de ello o la web no conectará con los datos.


Paso 4: Importa la base de datos en DirectAdmin (phpMyAdmin)

Ahora vamos a subir el archivo .sql que descargaste en el paso 2.

  1. Dentro de DirectAdmin, busca el acceso a phpMyAdmin (suele estar en la sección de "MySQL Management" o como un icono directo).
  2. En el panel izquierdo, selecciona la base de datos que acabas de crear en el paso anterior.
  3. Ve a la pestaña "Importar" (Import).
  4. Haz clic en "Seleccionar archivo" y busca el archivo .sql que descargaste de cPanel.
  5. Pulsa "Continuar". Dependiendo del tamaño, tardará unos segundos o minutos.

[WARNING] Si el archivo es demasiado grande, es posible que el servidor te dé un error de "límite de memoria" o "tiempo de ejecución excedido". En ese caso, no desesperes, usa el método con SSH que te explico a continuación.


Paso 5: Método avanzado con SSH (para bases de datos grandes)

Si tu base de datos supera el medio gigabyte o simplemente quieres hacerlo como un profesional, el SSH es tu mejor aliado. Este método es mucho más rápido y fiable.

5.1 Exportar desde el servidor origen (cPanel)

  1. Conéctate por SSH a tu servidor de cPanel. Necesitarás las credenciales de root o de un usuario con permisos.
  2. Una vez dentro, ejecuta el siguiente comando para exportar la base de datos:
mysqldump -u USUARIO_BD -p NOMBRE_BD > /home/USUARIO_CPANEL/backup_bd.sql

Te pedirá la contraseña del usuario de la BD. Sustituye USUARIO_BD y NOMBRE_BD por los datos reales.

[TIP] Puedes añadir la opción --single-transaction para no bloquear las tablas mientras se exporta, algo muy útil si la web está en producción.

  1. Si quieres comprimir el archivo para que pese menos y vaya más rápido, puedes usar:
mysqldump -u USUARIO_BD -p NOMBRE_BD | gzip > /home/USUARIO_CPANEL/backup_bd.sql.gz
  1. Ahora descarga el archivo a tu ordenador o, si tienes acceso directo entre servidores, puedes usar scp para copiarlo directamente al servidor de destino.

5.2 Importar en el servidor destino (DirectAdmin)

  1. Conéctate por SSH al servidor con DirectAdmin.
  2. Sube el archivo .sql o .sql.gz a una carpeta temporal (por ejemplo, /home/USUARIO_DESTINO/). Puedes usar scp o un cliente FTP.
  3. Si el archivo está comprimido, descomprímelo:
gunzip backup_bd.sql.gz
  1. Ahora importa la base de datos con el siguiente comando:
mysql -u USUARIO_BD_DESTINO -p NOMBRE_BD_DESTINO < backup_bd.sql

Te pedirá la contraseña del usuario de la BD de destino. Si la importación es muy grande y ves que el proceso se corta, puedes usar nohup o ejecutarlo en segundo plano con &.

[WARNING] Asegúrate de que el usuario de la BD de destino tenga todos los privilegios sobre la base de datos. Si no, la importación dará errores de permisos.


Paso 6: Verifica que todo funciona (¡y no olvides los permisos!)

Una vez importada la base de datos, toca comprobar que todo está en orden.

  1. Entra en phpMyAdmin de DirectAdmin y selecciona la base de datos importada.
  2. Revisa que las tablas estén ahí y que el número de registros coincide con el original (puedes mirar el tamaño de la BD en el panel).
  3. Haz una prueba de conexión desde tu aplicación. Si es una web, intenta cargarla y revisa que no dé errores de conexión a la BD.
  4. Si tu aplicación usa usuarios y privilegios específicos, asegúrate de que el usuario de la BD de destino tenga permisos de SELECT, INSERT, UPDATE, DELETE (y si toca, CREATE y ALTER). En DirectAdmin, normalmente al crear la BD, el usuario ya tiene todos los permisos, pero por si acaso, revísalo.

[INFO] Si tu aplicación es WordPress, también tendrás que actualizar el archivo wp-config.php con los nuevos datos de la base de datos (nombre, usuario y contraseña). Lo mismo para otras aplicaciones como Drupal, Magento, etc.


Paso 7: Actualiza las configuraciones de tu aplicación

Este paso es el que más se olvida y el que más dolores de cabeza da. No basta con importar la base de datos; tienes que decirle a tu aplicación que ahora tiene que mirar en la nueva base de datos.

  • WordPress: Edita wp-config.php y cambia DB_NAME, DB_USER y DB_PASSWORD.
  • PrestaShop: Edita app/config/parameters.php.
  • Joomla: Edita configuration.php (campos host, user, password, db).
  • Aplicaciones a medida: Busca el archivo de configuración de conexión (suele ser .env, config.php, settings.php).

[WARNING] Si tu web usa URLs absolutas (por ejemplo, en WordPress con el plugin de caché o en la base de datos hay URLs de dominio), es posible que tengas que hacer un reemplazo en la base de datos. Puedes usar el plugin "Better Search Replace" en WordPress o un comando SQL para cambiar el dominio viejo por el nuevo.


Paso 8: Comprueba los logs y resuelve errores comunes

Si algo falla, no te agobies. Lo más habitual es que aparezcan errores de conexión o de tablas que no existen. Revisa los logs de error de tu aplicación y del servidor.

  • En DirectAdmin, los logs de error suelen estar en /var/log/ o en el directorio de logs del dominio.
  • Si ves errores de "table doesn't exist", es que la importación no se completó correctamente. Repite el proceso o revisa el archivo .sql por si estuviera corrupto.
  • Si ves errores de "access denied", revisa los permisos del usuario de la BD.

[TIP] Si la web te funciona pero los datos están incompletos, es posible que la importación se cortara a mitad. En ese caso, borra la base de datos de destino y vuelve a importar, pero esta vez usando el método SSH que es más fiable.


Preguntas frecuentes (FAQ) sobre migrar mysql de cPanel a DirectAdmin

¿Puedo cambiar el nombre de la base de datos durante la migración?

Sí, perfectamente. De hecho, es recomendable para adaptarte a los prefijos de DirectAdmin. Solo tendrás que actualizar la configuración de tu aplicación con el nuevo nombre.

¿Qué hago si la base de datos es enorme (más de 2 GB)?

Para bases de datos muy grandes, la opción de SSH es la única viable. Además, puedes hacer la migración en varios pasos: primero la estructura, luego los datos, y por último los índices. Pero eso ya es nivel avanzado. Si no te ves capaz, siempre puedes pedir ayuda a tu proveedor de hosting.

¿Pierdo los datos si algo falla a mitad de la importación?

No, los datos originales en cPanel siguen intactos hasta que tú los borres. La migración es un proceso de copia, no de corte. Así que puedes intentarlo tantas veces como necesites.

¿Necesito desactivar la web durante la migración?

Si tu web tiene mucho tráfico y no quieres que los usuarios vean errores mientras migras, es recomendable ponerla en modo mantenimiento. Pero para una migración rápida, no suele ser necesario.

¿Qué pasa con las tablas con privilegios especiales o procedimientos almacenados?

Si tu base de datos tiene procedimientos almacenados, triggers o vistas, la exportación con phpMyAdmin o mysqldump los incluye por defecto. Solo asegúrate de marcar la opción correspondiente en la exportación personalizada.


Resumen final: checklist para tu migración

Para que no se te olvide nada, aquí tienes una lista rápida:

  • Tener los datos de acceso de cPanel y DirectAdmin.
  • Exportar la base de datos desde cPanel (phpMyAdmin o SSH).
  • Crear la base de datos y el usuario en DirectAdmin.
  • Importar el archivo .sql en DirectAdmin.
  • Verificar que las tablas y los datos están completos.
  • Actualizar la configuración de tu aplicación (wp-config, parameters, etc.).
  • Probar la web y revisar logs.
  • Borrar el archivo .sql del servidor por seguridad.

[INFO] Si en algún momento del proceso te aparece la palabra Syspanel (que es como llamamos al panel de control alternativo), recuerda que su puerto de acceso es el 2106. No es tu caso porque estás usando DirectAdmin, pero por si acaso.


Conclusión

Migrar una base de datos MySQL de cPanel a DirectAdmin es un proceso que, una vez que lo has hecho una vez, te parecerá sencillo. La clave está en seguir los pasos con calma, verificar cada etapa y, sobre todo, no olvidarte de actualizar la configuración de tu aplicación.

Tanto si usas phpMyAdmin como si te decantas por el SSH, lo importante es que el archivo .sql esté bien generado y que la importación se haga en una base de datos limpia y con los permisos correctos.

Espero que esta guía te haya sido de ayuda. Si tienes alguna duda, déjala en los comentarios y te echaré una mano. ¡Buena suerte con tu migración mysql!

¿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