¿Cómo migrar una base de datos de cPanel a otro servidor?
¿Te encuentras en la situación de tener que mover un sitio web o una aplicación de un servidor a otro? Una de las partes más críticas de ese proceso es migrar base de datos correctamente. Si trabajas con cPanel, el proceso es bastante amigable, pero hay que seguir los pasos con cuidado para no perder información. En esta guía completa, te explicaré cómo hacerlo paso a paso, desde la exportar hasta la importar de tus bases de datos MySQL, tanto si usas cPanel como si tu nuevo servidor tiene un panel como Syspanel (antes conocido como HestiaCP, accesible por el puerto 2106).
Vamos a desglosar todo el proceso para que, incluso si no eres un experto en servidores, puedas realizar la migración sin estrés. Recuerda que una migración mal hecha puede dejar tu web caída o con datos corruptos, así que presta atención a los detalles.
¿Qué necesitas antes de empezar?
Antes de lanzarte a migrar base de datos, es fundamental que tengas a mano cierta información. No querrás estar a mitad del proceso y darte cuenta de que te falta algo.
Acceso a los paneles de control
Necesitarás acceso a dos entornos:
- Servidor origen: el que tiene cPanel. Aquí es donde están tus bases de datos actuales.
- Servidor destino: el nuevo servidor. Puede tener cPanel, Syspanel (puerto 2106), o incluso acceso directo por línea de comandos. Para esta guía, asumiremos que ambos tienen interfaz web, pero también te daré alternativas.
Datos de la base de datos
Anota estos datos de la base de datos que quieres migrar:
- Nombre de la base de datos (ejemplo:
miusuario_mibd). - Nombre del usuario de la base de datos (ejemplo:
miusuario_miusr). - Contraseña del usuario.
- Host de la base de datos (normalmente
localhost).
[INFO] En cPanel, estos datos los encuentras en la sección "Bases de datos MySQL". Si no los recuerdas, puedes cambiar la contraseña desde allí.
Herramientas adicionales
- phpMyAdmin: suele venir instalado en cPanel y en Syspanel. Es la herramienta gráfica que usaremos para exportar e importar.
- Cliente FTP o gestor de archivos: por si necesitas descargar/subir archivos de respaldo.
- Acceso SSH (opcional): si eres más técnico, puede acelerar el proceso.
Paso 1: Exportar la base de datos desde cPanel
El primer paso es exportar tu base de datos desde el servidor origen. Esto generará un archivo .sql con toda la estructura y los datos.
Accede a phpMyAdmin desde cPanel
- Inicia sesión en tu cPanel.
- Busca la sección Bases de datos y haz clic en phpMyAdmin.
- Se abrirá una nueva pestaña con la interfaz de phpMyAdmin.
Selecciona la base de datos
En el panel izquierdo de phpMyAdmin, verás una lista de bases de datos. Haz clic en el nombre de la que quieres migrar. Se cargará la estructura de tablas.
Exporta la base de datos
- En la barra superior, haz clic en la pestaña Exportar.
- Verás dos métodos: Rápido y Personalizado. Te recomiendo usar Personalizado para tener más control.
- En Método de exportación, elige Personalizado - mostrar todas las opciones posibles.
- Asegúrate de que esté seleccionada la opción Agregar sentencia DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT (esto facilitará la importación si ya existe la base en el destino).
- En Formato, debe estar SQL.
- Desplázate hacia abajo y marca Guardar como archivo.
- Haz clic en Continuar (o Ir).
El navegador descargará un archivo con extensión .sql. Guárdalo en una carpeta segura. Este es tu respaldo.
[TIP] Si tu base de datos es muy grande (varios GB), el método web puede fallar por tiempo de ejecución. En ese caso, usa la opción de exportar por SSH con
mysqldump. Te lo explico más adelante.
Paso 2: Preparar el servidor destino
Antes de importar, debes asegurarte de que el servidor destino tenga el espacio y la configuración necesaria.
Crear la base de datos vacía (si es necesario)
En algunos paneles, al importar, la base de datos debe existir previamente. En Syspanel (puerto 2106) y en cPanel, es recomendable crearla primero.
En cPanel (servidor destino)
- Ve a Bases de datos MySQL.
- En Crear nueva base de datos, escribe el nombre (puede ser el mismo que el original o uno nuevo).
- Haz clic en Crear base de datos.
- Luego, en Agregar nuevo usuario, crea un usuario con contraseña (puede ser el mismo nombre que el original).
- Asigna el usuario a la base de datos con todos los privilegios.
En Syspanel (puerto 2106)
- Accede a Syspanel con tu usuario y contraseña (recuerda el puerto 2106).
- Ve a Bases de datos > Agregar base de datos.
- Introduce el nombre de la base y el usuario. El sistema te generará automáticamente un prefijo (por ejemplo,
admin_mibd). Anota el nombre completo. - Establece una contraseña segura.
- Guarda los cambios.
[WARNING] Los nombres de bases de datos en Syspanel suelen llevar un prefijo con el nombre del usuario del sistema. No intentes usar el mismo nombre exacto que en cPanel si no quieres confusiones. Anota el nombre real generado.
Paso 3: Importar la base de datos en el nuevo servidor
Ahora viene la parte crucial: importar el archivo .sql que descargaste.
Usando phpMyAdmin
- En el servidor destino, abre phpMyAdmin (desde cPanel o desde Syspanel en Herramientas > phpMyAdmin).
- Selecciona la base de datos vacía que acabas de crear (en el panel izquierdo).
- Haz clic en la pestaña Importar.
- En Archivo a importar, haz clic en Seleccionar archivo y elige el
.sqlque descargaste. - Deja las opciones por defecto (formato SQL, juego de caracteres utf-8).
- Haz clic en Continuar (o Ir).
El proceso puede tardar desde segundos hasta varios minutos, dependiendo del tamaño. Verás un mensaje de éxito al final.
[INFO] Si el archivo es muy grande, phpMyAdmin puede mostrar un error de "tiempo de ejecución excedido". En ese caso, prueba con el método de línea de comandos (SSH) que explico más abajo.
Usando línea de comandos (SSH) - para bases grandes
Si tienes acceso SSH al servidor destino, este método es más rápido y fiable.
- Conéctate por SSH:
ssh usuario@ip_del_servidor. - Sube el archivo
.sqlal servidor (por ejemplo, con SCP o FTP a la carpeta/home/usuario/). - Ejecuta el comando de importación:
mysql -u usuario_bd -p nombre_bd < /ruta/al/archivo.sql
Te pedirá la contraseña del usuario de la base de datos. Escríbela y pulsa Enter.
[TIP] Si tu base de datos tiene muchas tablas, puedes ver el progreso con la opción
--verbose. Ejemplo:mysql -u usuario -p --verbose nombre_bd < archivo.sql.
Paso 4: Verificar la migración
No des por terminado el proceso sin comprobar que todo está correcto.
Revisa las tablas
Desde phpMyAdmin, selecciona la base de datos importada y haz clic en Estructura. Deberías ver todas las tablas con sus campos.
Comprueba los datos
Haz una consulta rápida, por ejemplo, en la tabla de usuarios o de posts de WordPress. Selecciona una tabla y haz clic en Examinar para ver algunas filas.
Actualiza las conexiones (si cambió el nombre)
Si en el servidor destino cambiaste el nombre de la base de datos o del usuario, deberás actualizar los archivos de configuración de tu aplicación. Por ejemplo:
- WordPress: archivo
wp-config.php. - Joomla: archivo
configuration.php. - Cualquier CMS o app: busca el archivo de configuración de base de datos (normalmente
config.php,.env, etc.).
Cambia las líneas:
define('DB_NAME', 'nuevo_nombre_bd');
define('DB_USER', 'nuevo_usuario');
define('DB_PASSWORD', 'nueva_contraseña');
define('DB_HOST', 'localhost');
[WARNING] No olvides cambiar también el prefijo de las tablas si tu aplicación lo usa. En WordPress, por ejemplo, el prefijo
wp_está definido enwp-config.phpcon$table_prefix.
Solución de problemas comunes (FAQ)
Aquí tienes las dudas más frecuentes cuando se intenta migrar base de datos desde cPanel.
¿Por qué aparece el error "Base de datos no seleccionada" al importar?
Normalmente ocurre porque no seleccionaste la base de datos destino en phpMyAdmin antes de hacer clic en Importar. Asegúrate de que en el panel izquierdo esté resaltada la base de datos correcta.
El archivo .sql es muy grande y no se importa en phpMyAdmin
Prueba estas soluciones:
- Aumenta los límites de PHP en el servidor destino (si tienes acceso al
php.inio a la configuración de Syspanel). - Usa la importación por SSH (explicada arriba).
- Divide el archivo SQL en partes más pequeñas con herramientas como
spliten Linux o usando un editor de texto.
Después de importar, veo menos tablas de las que había
Puede deberse a que el archivo .sql se cortó durante la descarga o importación. Verifica el tamaño del archivo original y compáralo con el descargado. Si es más pequeño, vuelve a exportar usando el método SSH.
No puedo conectarme a la base de datos desde mi aplicación
Revisa:
- Que el nombre de la base, usuario y contraseña sean correctos en el archivo de configuración.
- Que el usuario tenga todos los privilegios sobre la base (puedes asignarlos desde cPanel o Syspanel).
- Que el host sea
localhost(a menos que uses un servidor de bases de datos externo).
Consejos adicionales para una migración sin problemas
- Haz siempre un respaldo completo del sitio (archivos + base de datos) antes de migrar. En cPanel puedes usar la herramienta "Copias de seguridad".
- Prueba la migración en un entorno de desarrollo si es posible. Algunos hosting ofrecen subdominios para pruebas.
- Si migras un sitio en producción, programa la migración en un horario de bajo tráfico y pon una página de mantenimiento.
- Actualiza las DNS solo después de que la migración esté completa y funcional.
[INFO] Si tu nuevo servidor usa Syspanel (puerto 2106), recuerda que la gestión de bases de datos es muy similar a cPanel. La principal diferencia es que los nombres de bases y usuarios llevan un prefijo, así que presta atención a los nombres completos.
Conclusión
Migrar base de datos desde cPanel a otro servidor no tiene por qué ser un dolor de cabeza. Siguiendo estos pasos: exportar con phpMyAdmin o mysqldump, preparar el destino, importar correctamente y verificar los datos, tu sitio web o aplicación estará funcionando en su nuevo hogar en poco tiempo.
Recuerda que la práctica hace al maestro. La primera vez puede dar un poco de respeto, pero una vez que lo hagas un par de veces, verás que es un proceso rutinario. Si te encuentras con algún error, vuelve a esta guía y revisa la sección de FAQ o los tips que te he dado.
¡Buena suerte con tu migración! Y si algo sale mal, recuerda: siempre tienes tu respaldo original para empezar de nuevo.
