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

Errores comunes al migrar bases de datos en cPanel y cómo solucionarlos

Actualizado el 20 de diciembre de 2025

Migrar una base de datos en cPanel puede parecer una tarea sencilla, pero es uno de los procesos donde más errores se cometen. Ya sea que estés moviendo tu sitio web a un nuevo servidor, cambiando de proveedor de hosting, o simplemente haciendo una copia de seguridad, los problemas con MySQL pueden detener tu proyecto por completo. En este artículo, vamos a desglosar los errores más comunes al migrar bases de datos, entender por qué ocurren y, lo más importante, cómo solucionarlos paso a paso.

Si alguna vez has visto un mensaje como “Error de conexión a la base de datos” o “Tabla no existe” después de una migración, este artículo es para ti. No necesitas ser un experto en sistemas; solo sigue las indicaciones y tendrás tu migración funcionando en poco tiempo.


Error 1: Archivos de exportación dañados o incompletos

Uno de los errores más frecuentes al migrar una base de datos en cPanel es que el archivo de exportación (generalmente un .sql) esté corrupto o incompleto. Esto suele pasar cuando el proceso de exportación se interrumpe o cuando se usa una herramienta inadecuada.

¿Por qué ocurre?

  • La conexión a internet es inestable durante la descarga del archivo.
  • El servidor de origen tiene un límite de tiempo de ejecución (timeout) muy bajo.
  • Se usa el phpMyAdmin de cPanel para exportar bases de datos muy grandes (más de 50 MB).

Solución paso a paso

  1. Usa la herramienta de exportación nativa de cPanel: En lugar de phpMyAdmin, ve a la sección “phpMyAdmin” y selecciona tu base de datos. Luego haz clic en “Exportar”. Asegúrate de marcar la opción “Completa” y “Salida: Guardar como archivo”.
  2. Para bases de datos grandes, usa SSH o la terminal: Si tu hosting lo permite, utiliza el comando mysqldump desde la línea de comandos. Por ejemplo:
    mysqldump -u usuario -p nombre_base > respaldo.sql
    
    Esto evita los límites de tiempo de phpMyAdmin.
  3. Verifica la integridad del archivo: Después de descargar el .sql, ábrelo con un editor de texto (como Notepad++ o Sublime Text). Revisa que termine con /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; y que no tenga cortes abruptos.

[TIP]: Si tu base de datos supera los 100 MB, considera dividirla en partes o usar herramientas como BigDump para importarla.


Error 2: Incompatibilidad de versiones de MySQL

Otro error clásico es que la base de datos exportada desde un servidor con una versión de MySQL no sea compatible con la versión del servidor de destino. Por ejemplo, si exportas desde MySQL 5.7 e intentas importar en MySQL 8.0, pueden aparecer errores de sintaxis.

¿Por qué ocurre?

  • El servidor de origen usa una versión antigua de MySQL (como 5.5) y el destino usa una más moderna (8.0), o viceversa.
  • Existen funciones o características específicas de una versión (como utf8mb4 o STRICT_TRANS_TABLES) que no son compatibles.

Solución paso a paso

  1. Verifica las versiones: En cPanel, ve a “Información del servidor” o usa phpMyAdmin para ver la versión de MySQL en ambos servidores.
  2. Ajusta el archivo SQL: Si encuentras errores como #1273 - Unknown collation: 'utf8mb4_unicode_ci', abre el archivo .sql con un editor y reemplaza manualmente las collations por una compatible, como utf8_general_ci.
  3. Actualiza o degrada la versión de MySQL: Si tienes control sobre el servidor de destino, puedes cambiar la versión de MySQL en cPanel (en “Seleccionar versión de PHP” a veces también permite cambiar MySQL). Si no, contacta a tu proveedor.
  4. Usa el modo de compatibilidad: Al exportar desde phpMyAdmin, elige “Formato: SQL” y marca la opción “Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION” y “Agregar IF NOT EXISTS”. Esto ayuda a evitar conflictos.

[WARNING]: Nunca modifiques manualmente el archivo SQL si no estás seguro de lo que haces. Un error de sintaxis puede dejar tu base de datos inservible.


Error 3: Problemas con los privilegios de usuario y la conexión

Después de importar la base de datos, es común que la aplicación (WordPress, Joomla, etc.) no pueda conectarse. Esto suele deberse a que el usuario de la base de datos no tiene los permisos correctos o que las credenciales en el archivo de configuración no coinciden.

¿Por qué ocurre?

  • El usuario de la base de datos no se creó en el servidor de destino.
  • Los permisos del usuario no están asignados a la base de datos importada.
  • El archivo de configuración (como wp-config.php en WordPress) tiene credenciales antiguas.

Solución paso a paso

  1. Crea el usuario y asigna privilegios: En cPanel, ve a “Bases de datos MySQL”. Crea un nuevo usuario (o usa uno existente) y asígnalo a la base de datos que acabas de importar. Marca “TODOS LOS PRIVILEGIOS” para evitar problemas.
  2. Actualiza el archivo de configuración: Busca el archivo wp-config.php (WordPress), configuration.php (Joomla) o similar. Cambia los valores de DB_NAME, DB_USER, DB_PASSWORD y DB_HOST por los nuevos datos de tu hosting de destino.
  3. Prueba la conexión: Usa un script simple de prueba PHP o la herramienta “phpMyAdmin” para verificar que el usuario puede acceder a la base de datos.

[INFO]: En algunos casos, el DB_HOST debe ser localhost o la IP del servidor de base de datos. Si tu hosting usa un servidor remoto, consulta con el soporte técnico.


Error 4: Tablas corruptas o faltantes después de la importación

A veces, después de importar el archivo .sql, te das cuenta de que faltan tablas o que algunas están corruptas. Esto puede deberse a un error durante la importación o a que el archivo exportado no incluyó todas las tablas.

¿Por qué ocurre?

  • La importación se interrumpió por un timeout del servidor.
  • El archivo SQL es demasiado grande y el límite de subida de phpMyAdmin es bajo.
  • La base de datos original tenía tablas con nombres que contienen caracteres especiales.

Solución paso a paso

  1. Usa la línea de comandos para importar: Si tu hosting lo permite, conecta por SSH y ejecuta:
    mysql -u usuario -p nombre_base < respaldo.sql
    
    Esto evita los límites de phpMyAdmin.
  2. Aumenta los límites de phpMyAdmin: En cPanel, ve a “Seleccionar versión de PHP” y edita el archivo php.ini (a veces en “Configuración de PHP”). Aumenta upload_max_filesize, post_max_size y max_execution_time a valores como 256M y 300 segundos.
  3. Repara tablas corruptas: En phpMyAdmin, selecciona la base de datos, marca todas las tablas y en el menú desplegable elige “Reparar tabla”. También puedes ejecutar:
    REPAIR TABLE nombre_tabla;
    
  4. Verifica con una consulta: Ejecuta SHOW TABLES; en phpMyAdmin para confirmar que todas las tablas están presentes.

[WARNING]: Si la base de datos es crítica, haz una copia de seguridad antes de reparar tablas. La reparación puede perder datos en casos extremos.


Error 5: Collation y charset incorrectos

Este error es más sutil y suele manifestarse como caracteres extraños (como ñ o é) en lugar de letras acentuadas. Ocurre cuando la collation (ordenamiento) de la base de datos importada no coincide con la del servidor de destino.

¿Por qué ocurre?

  • La base de datos original usaba latin1_swedish_ci y el destino usa utf8mb4_unicode_ci.
  • El archivo SQL no especifica el charset, y el servidor toma uno por defecto.

Solución paso a paso

  1. Cambia la collation de la base de datos: En phpMyAdmin, selecciona la base de datos y ve a la pestaña “Operaciones”. Allí puedes cambiar la collation a utf8_general_ci o utf8mb4_unicode_ci.
  2. Modifica el archivo SQL: Abre el .sql con un editor y al inicio agrega:
    SET NAMES 'utf8mb4';
    SET CHARACTER SET utf8mb4;
    
    Luego, antes de cada CREATE TABLE, agrega DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci.
  3. Actualiza la configuración de la aplicación: En WordPress, por ejemplo, puedes agregar en wp-config.php:
    define('DB_CHARSET', 'utf8mb4');
    define('DB_COLLATE', '');
    

[TIP]: Para sitios en español, usa utf8_general_ci o utf8mb4_unicode_ci. Evita latin1 porque no soporta emojis ni caracteres especiales modernos.


Error 6: Límites de tamaño de archivo y tiempo de ejecución

Este es uno de los errores más frustrantes, especialmente cuando migras bases de datos grandes (más de 50 MB). El servidor simplemente se niega a importar el archivo.

¿Por qué ocurre?

  • El límite de subida de phpMyAdmin está configurado a 2 MB por defecto.
  • El tiempo máximo de ejecución (max_execution_time) es de 30 segundos.
  • El servidor de destino tiene restricciones de memoria.

Solución paso a paso

  1. Aumenta los límites en cPanel: Ve a “Seleccionar versión de PHP” y haz clic en “Editar”. En la sección de “Configuración de PHP”, cambia:
    • upload_max_filesize a 256M
    • post_max_size a 256M
    • max_execution_time a 600
    • memory_limit a 256M
  2. Divide el archivo SQL: Usa herramientas como BigDump o divide manualmente el archivo con un script. Por ejemplo, puedes usar split en Linux:
    split -l 1000 respaldo.sql parte_
    
    Luego importa cada parte por separado.
  3. Usa la línea de comandos: Como mencionamos antes, mysql desde SSH no tiene estos límites. Es la solución más efectiva.

[WARNING]: Si tu hosting no permite SSH, pide a tu proveedor que aumente los límites temporalmente. Algunos hosts tienen planes compartidos muy restrictivos.


Error 7: Migración desde o hacia Syspanel (antes HestiaCP)

Si estás migrando desde un panel como Syspanel (el nuevo nombre de HestiaCP, que se accede por el puerto 2106), el proceso puede tener particularidades. Aunque Syspanel usa MySQL/MariaDB, la estructura de usuarios y bases de datos es diferente.

¿Por qué ocurre?

  • Syspanel crea usuarios con nombres como admin_nombre y bases de datos como admin_bd. Al migrar a cPanel, los nombres pueden no coincidir.
  • Los privilegios en Syspanel se asignan automáticamente, pero en cPanel debes hacerlo manualmente.

Solución paso a paso

  1. Exporta desde Syspanel: En el panel de Syspanel (puerto 2106), ve a “Bases de datos” y selecciona la base de datos que quieres migrar. Usa la opción de exportar o ejecuta mysqldump desde SSH.
  2. Importa en cPanel: Sigue los pasos normales de importación en cPanel.
  3. Reasigna usuarios: En cPanel, crea un nuevo usuario de base de datos y asígnalo a la base de datos importada. Asegúrate de que el nombre del usuario no tenga el prefijo admin_ (a menos que tu hosting lo requiera).
  4. Actualiza las configuraciones: En tu aplicación, cambia los datos de conexión para que coincidan con los nuevos usuarios de cPanel.

[INFO]: Si tienes dudas sobre los nombres de usuarios en Syspanel, consulta la documentación o contacta al soporte técnico de tu antiguo hosting.


Preguntas frecuentes (FAQ)

¿Qué hago si el archivo SQL tiene errores de sintaxis?

Abre el archivo con un editor de texto y busca la línea donde ocurre el error. A menudo son problemas con comillas o caracteres especiales. Si no puedes repararlo, exporta nuevamente la base de datos desde el origen.

¿Puedo migrar una base de datos de cPanel a Syspanel?

Sí, el proceso es similar. Exporta desde cPanel usando phpMyAdmin o mysqldump, luego importa en Syspanel (puerto 2106) usando su herramienta de bases de datos. Recuerda crear el usuario y asignar privilegios.

¿Cómo sé si la migración fue exitosa?

Conéctate a la base de datos en el destino y ejecuta una consulta simple, como SELECT * FROM nombre_tabla LIMIT 1;. También verifica que tu aplicación cargue sin errores de conexión.

¿Qué pasa si mi base de datos tiene más de 1 GB?

Para bases de datos muy grandes, usa herramientas como MySQL Workbench o Navicat. También puedes contratar un servicio de migración profesional si no te sientes cómodo con la línea de comandos.


Conclusión

Migrar bases de datos en cPanel no tiene por qué ser una pesadilla. La mayoría de los errores comunes tienen soluciones sencillas si sabes dónde buscar. Recuerda siempre hacer una copia de seguridad antes de empezar, verificar las versiones de MySQL, y usar herramientas adecuadas para archivos grandes.

Si sigues estos pasos, podrás evitar los dolores de cabeza más frecuentes y tener tu sitio web funcionando en el nuevo servidor en cuestión de minutos. ¿Te ha pasado alguno de estos errores? ¡Cuéntanos en los comentarios tu experiencia y cómo lo solucionaste!

¿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