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

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

Actualizado el 5 de abril de 2026

Importar una base de datos MySQL en cPanel puede parecer una tarea sencilla, pero es uno de los procesos que más dolores de cabeza causa, especialmente cuando trabajas con sitios web en producción o migraciones. En este artículo, te guiaré paso a paso por los errores comunes al importar MySQL en cPanel y, lo más importante, cómo solucionarlos de forma rápida y sin estrés.

Si alguna vez has visto un mensaje de error rojo en phpMyAdmin o has recibido un correo de tu hosting diciendo que la importación falló, este artículo es para ti. Vamos a desglosar cada problema, desde los más simples hasta los más técnicos, con un lenguaje claro y ejemplos prácticos.


Error 1: Tamaño de archivo excedido (límite de upload)

Este es, con diferencia, el error más frecuente al importar bases de datos en cPanel. Cuando tienes un archivo SQL de más de 50 MB (o incluso 100 MB), el sistema de carga de phpMyAdmin suele rechazarlo.

¿Por qué ocurre?

cPanel, por defecto, limita el tamaño de los archivos que puedes subir a través de phpMyAdmin. Esto lo controla la configuración de PHP (upload_max_filesize y post_max_size). Si tu base de datos pesa más que ese límite, verás un mensaje como "Archivo demasiado grande" o simplemente la página se queda en blanco.

Solución paso a paso

  1. Verifica el límite actual: En phpMyAdmin, ve a la pestaña "Importar" y mira el texto pequeño que dice "Tamaño máximo: 50 MiB". Ese es tu tope.
  2. Aumenta el límite temporalmente (si tienes acceso a WHM o al editor de php.ini):
    • Busca el archivo php.ini de tu plan de hosting.
    • Cambia las líneas:
      upload_max_filesize = 128M
      post_max_size = 128M
      
    • Guarda y reinicia el servicio de Apache o PHP-FPM desde el administrador de servicios de cPanel.
  3. Usa la herramienta "MySQL Databases" de cPanel:
    • Ve a cPanel → Bases de Datos MySQL.
    • Junto a tu base de datos, haz clic en phpMyAdmin.
    • En la pantalla de importación, busca la opción "Importar archivo comprimido (gzip)".
    • Comprime tu archivo SQL a .sql.gz (en Windows con 7-Zip, en Mac/Linux con gzip archivo.sql). Esto reduce drásticamente el tamaño.
  4. Solución definitiva: Si el archivo sigue siendo enorme (más de 500 MB), usa la línea de comandos:
    mysql -u usuario -p basededatos < archivo.sql
    
    Esto no tiene límite de tamaño. Si no tienes acceso SSH, pide a tu proveedor de hosting que lo ejecute.

[TIP] Si tu hosting usa Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106 para gestionar archivos y bases de datos. La importación por SSH es igual de rápida.


Error 2: "Tabla no existe" o "Base de datos no seleccionada"

Este error aparece cuando intentas importar un archivo SQL que no contiene el comando USE nombre_base; o cuando la base de datos destino no está creada.

¿Por qué ocurre?

Al exportar una base de datos, muchos programas (como phpMyAdmin) incluyen la línea CREATE DATABASE IF NOT EXISTS solo si marcas la opción correspondiente. Si no lo haces, el archivo SQL solo contiene las tablas y datos, pero no sabe a qué base de datos pertenecen.

Solución paso a paso

  1. Crea primero la base de datos en cPanel:
    • Ve a cPanel → Bases de Datos MySQL.
    • Escribe el nombre de tu base de datos y haz clic en Crear base de datos.
    • Luego, asigna un usuario (o crea uno nuevo) y dale todos los privilegios.
  2. Edita el archivo SQL (si es necesario):
    • Abre el .sql con un editor de texto (Notepad++ o Sublime Text).
    • Al principio del archivo, agrega:
      USE nombre_de_tu_base;
      
    • Guarda los cambios.
  3. Importa directamente desde la base de datos vacía:
    • En phpMyAdmin, selecciona tu base de datos vacía en el panel izquierdo.
    • Luego ve a Importar y sube tu archivo.

[WARNING] Si tu archivo SQL incluye DROP TABLE IF EXISTS, ten cuidado: eliminará tablas existentes con el mismo nombre. Siempre haz un backup previo.


Error 3: Problemas de codificación (caracteres extraños)

Este es el clásico error de los caracteres raros: tildes, eñes, símbolos que aparecen como ñ, ¿, etc. Ocurre cuando la codificación de la base de datos origen y destino no coinciden.

¿Por qué ocurre?

MySQL tiene múltiples conjuntos de caracteres (utf8, latin1, utf8mb4, etc.). Si exportaste con latin1 pero tu base de datos en cPanel está configurada como utf8mb4, los caracteres especiales se rompen.

Solución paso a paso

  1. Verifica la codificación actual de tu base de datos en cPanel:
    • En phpMyAdmin, selecciona tu base de datos.
    • Haz clic en Operaciones.
    • Busca Cotejamiento (collation). Lo ideal es utf8mb4_general_ci o utf8mb4_unicode_ci.
  2. Cambia la codificación antes de importar:
    • Si tu archivo SQL está en latin1, puedes convertirlo con un editor como Notepad++:
      • Abre el archivo → CodificaciónConvertir a UTF-8.
    • O, al importar, en phpMyAdmin, en la sección Formato de archivo, selecciona latin1 si sabes que ese es el origen.
  3. Forzar la codificación en el SQL:
    • Agrega al inicio del archivo:
      SET NAMES 'utf8mb4';
      SET CHARACTER SET utf8mb4;
      
  4. Solución avanzada: Si ya importaste y tienes datos corruptos, puedes corregirlos con:
    ALTER DATABASE nombre_base CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    ALTER TABLE nombre_tabla CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    

[INFO] La codificación utf8mb4 es la más recomendada hoy en día porque soporta emojis y caracteres especiales modernos.


Error 4: Tiempo de ejecución excedido (timeout)

Si tu base de datos es grande (más de 100 MB) o tu servidor tiene poca memoria, phpMyAdmin puede cortar la importación a mitad de camino mostrando un error de "tiempo de espera agotado".

¿Por qué ocurre?

PHP tiene un límite de tiempo de ejecución (max_execution_time) que suele ser de 30 a 60 segundos. Si la importación tarda más, el proceso se detiene.

Solución paso a paso

  1. Aumenta el tiempo de ejecución (si tienes acceso a php.ini):
    • Busca max_execution_time y cámbialo a 300 (5 minutos) o 600 (10 minutos).
    • También puedes aumentar memory_limit a 256M o 512M.
  2. Divide el archivo SQL en partes más pequeñas:
    • Usa herramientas como BigDump (un script PHP) o MySQL Splitter (programa de escritorio).
    • O manualmente: abre el SQL, busca INSERT INTO y separa cada 10,000 filas en un archivo nuevo.
  3. Usa la línea de comandos (SSH):
    • Esta es la solución más eficaz:
      mysql -u usuario -p basededatos < archivo.sql
      
    • No hay timeout, y el proceso es mucho más rápido.

[WARNING] No subas archivos SQL de más de 200 MB por phpMyAdmin. Siempre usa SSH o la herramienta "MySQL Databases" de cPanel con archivos comprimidos.


Error 5: "MySQL ha desaparecido" o "Error de conexión"

Este error aparece cuando el servidor MySQL se reinicia o se cae durante la importación, o cuando el usuario de la base de datos no tiene permisos suficientes.

¿Por qué ocurre?

  • El servidor MySQL tiene un límite de paquetes (max_allowed_packet) que puede ser muy bajo.
  • El usuario de la base de datos no tiene privilegios de LOCK TABLES o CREATE.
  • Hay un firewall o regla de seguridad que bloquea conexiones grandes.

Solución paso a paso

  1. Verifica los permisos del usuario:
    • En cPanel, ve a Bases de Datos MySQL.
    • Junto al usuario, haz clic en Gestionar privilegios.
    • Asegúrate de que tenga marcados al menos: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, LOCK TABLES.
  2. Aumenta max_allowed_packet:
    • En el archivo my.cnf (o my.ini en Windows), agrega o modifica:
      [mysqld]
      max_allowed_packet = 64M
      
    • Luego reinicia MySQL desde cPanel → ServiciosMySQL.
  3. Importa en modo seguro:
    • Agrega estas líneas al inicio de tu archivo SQL:
      SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
      SET AUTOCOMMIT = 0;
      START TRANSACTION;
      
    • Al final del archivo:
      COMMIT;
      

[TIP] Si usas Syspanel (HestiaCP), el puerto de acceso es el 2106 para gestionar bases de datos. Allí puedes reiniciar MySQL desde el panel de administración.


Error 6: Problemas con claves foráneas o restricciones

Este error es típico cuando importas una base de datos que tiene relaciones entre tablas (foreign keys). El orden de las tablas en el archivo SQL puede causar que intentes crear una relación antes de que exista la tabla referenciada.

¿Por qué ocurre?

El archivo SQL exportado no respeta el orden de creación de las tablas. Por ejemplo, primero intenta crear una tabla con una clave foránea que apunta a una tabla que aún no existe.

Solución paso a paso

  1. Desactiva temporalmente las restricciones de claves foráneas:
    • Al inicio de tu archivo SQL, agrega:
      SET FOREIGN_KEY_CHECKS = 0;
      
    • Al final del archivo:
      SET FOREIGN_KEY_CHECKS = 1;
      
  2. Importa en el orden correcto:
    • Si puedes, abre el SQL y busca las sentencias CREATE TABLE. Reordénalas manualmente para que las tablas sin dependencias vayan primero.
  3. Usa la opción de exportación "Desactivar comprobación de claves":
    • Si estás exportando desde otro servidor, en phpMyAdmin marca la casilla "Desactivar comprobación de claves foráneas" antes de exportar.

[INFO] Esta solución es segura para la mayoría de los casos. Al final, las claves se reactivan automáticamente.


Preguntas frecuentes (FAQ)

¿Puedo importar una base de datos MySQL desde un archivo .sql comprimido?

Sí, cPanel y phpMyAdmin aceptan archivos .zip, .gz y .tar.gz. Es recomendable comprimir archivos grandes para evitar límites de tamaño.

¿Qué hago si no tengo acceso SSH?

Usa la herramienta "MySQL Databases" de cPanel, que permite importar directamente archivos SQL o comprimidos. También puedes probar con BigDump (un script PHP que subes a tu servidor).

¿Cómo sé si mi base de datos se importó correctamente?

Después de importar, ve a phpMyAdmin, selecciona la base de datos y revisa el número de tablas y el tamaño total. También puedes ejecutar una consulta simple como SELECT COUNT(*) FROM tabla_principal;.

¿Puedo importar una base de datos desde un backup de WordPress?

Sí, pero asegúrate de que el archivo SQL contenga todas las tablas de WordPress (wp_posts, wp_options, etc.). Si solo tienes el backup de la carpeta wp-content, necesitas exportar la base de datos desde el panel de WordPress.

¿Syspanel (HestiaCP) tiene alguna diferencia en la importación?

No, el proceso es idéntico. Solo recuerda que el puerto de acceso para gestionar archivos y bases de datos en Syspanel es el 2106. La importación por phpMyAdmin o línea de comandos funciona igual.


Conclusión

Importar bases de datos MySQL en cPanel no tiene por qué ser una pesadilla. La mayoría de los errores comunes al importar MySQL se solucionan con unos pocos ajustes: aumentar límites de archivo, verificar codificaciones, usar la línea de comandos para archivos grandes, y desactivar restricciones temporales.

Si sigues estos pasos, podrás migrar tus bases de datos sin perder datos ni caracteres especiales. Recuerda que la paciencia y una buena planificación (siempre haz backup antes) son tus mejores aliados.

¿Tienes algún otro error que no mencionamos? Escríbelo en los comentarios (si tu sitio tiene esa función) o contacta con el soporte de tu hosting. ¡Buena suerte con tus importaciones!

¿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