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

Cómo usar phpMyAdmin para importar una base de datos grande (solucionar timeout)

Actualizado el 1 de junio de 2026

¿Por qué phpMyAdmin se bloquea al importar bases de datos grandes?

Si alguna vez has intentado subir un archivo SQL de más de 50 MB desde phpMyAdmin, probablemente te hayas encontrado con el temido error de timeout. La pantalla se queda cargando, el navegador se congela y, al final, recibes un mensaje como "Error de conexión" o "El script no respondió". Esto es frustrante, pero tiene una explicación técnica sencilla.

phpMyAdmin es una herramienta excelente para gestionar bases de datos pequeñas y medianas, pero tiene límites claros. Cuando intentas importar una base de datos pesada, el servidor web (Apache o Nginx) y PHP tienen un tiempo máximo de ejecución. Si la importación tarda más de ese límite (normalmente 30 o 60 segundos), el proceso se corta. Además, el archivo subido también tiene un límite de tamaño impuesto por PHP, que suele ser de 2 MB por defecto en muchos servidores.

En este artículo te voy a explicar, paso a paso, cómo solucionar estos problemas y conseguir subir un SQL grande a phpMyAdmin sin que se te caiga el sistema. No necesitas ser un experto en servidores, solo seguir estas instrucciones con calma.


1. Primero, entiende qué causa el timeout

El error de timeout no es un fallo aleatorio. Es la consecuencia de tres límites que se encuentran en tu servidor:

  • Límite de subida de archivos (upload_max_filesize): controla el tamaño máximo del archivo que puedes subir a través de phpMyAdmin. Si tu SQL pesa más que ese valor, verás un error inmediato al intentar subirlo.

  • Límite de memoria (memory_limit): PHP necesita memoria para procesar el archivo SQL. Si el archivo es muy grande, puede que PHP se quede sin memoria y el proceso falle.

  • Tiempo máximo de ejecución (max_execution_time): es el tiempo que PHP puede ejecutar un script antes de detenerse. Si la importación tarda más de ese tiempo, el servidor la corta.

La clave está en ajustar estos tres valores. Dependiendo de si tu sitio está en un hosting compartido o en un VPS con Syspanel, el método será diferente. Te lo explico a continuación.


2. Solución rápida: ajustar los límites de PHP en tu servidor

Si tienes acceso al archivo php.ini de tu servidor, esta es la solución más directa. Busca estas líneas y cámbialas por valores más altos:

upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 1024M
max_execution_time = 600
max_input_time = 600
  • upload_max_filesize y post_max_size: los pones en 512 MB o incluso 1 GB si tu base de datos es enorme.

  • memory_limit: un valor de 1024 MB (1 GB) es más que suficiente para la mayoría de los casos. Si tu SQL supera los 500 MB, sube este valor a 2048 MB.

  • max_execution_time y max_input_time: los pones en 600 segundos (10 minutos). Si tu base de datos es gigantesca, puedes poner 3600 (1 hora).

Después de guardar los cambios, reinicia el servidor web o el servicio de PHP. Si estás usando Syspanel, el panel de control de tu VPS, puedes hacerlo desde la sección de servicios. Recuerda que el acceso a Syspanel es a través del puerto 2106 (por ejemplo, http://tu-dominio.com:2106).


3. Cómo importar una base de datos grande desde Syspanel

Si tu servidor usa Syspanel (antes conocido como HestiaCP), tienes una ventaja enorme. Syspanel incluye una herramienta de gestión de bases de datos que no tiene los límites tan restrictivos de phpMyAdmin. Sigue estos pasos:

  1. Accede a Syspanel usando el puerto 2106: http://tu-servidor.com:2106.

  2. Inicia sesión con tu usuario y contraseña.

  3. Ve a la sección Bases de Datos y selecciona la base de datos donde quieres importar el SQL.

  4. Busca el botón Importar o Subir archivo. En Syspanel, este botón suele estar en la parte superior de la página de la base de datos.

  5. Selecciona tu archivo SQL y haz clic en Importar.

Syspanel procesa la importación de forma más eficiente que phpMyAdmin, porque no depende de los límites de PHP del mismo modo. Muchas veces, importar base de datos pesada desde Syspanel funciona sin necesidad de tocar nada más.


4. Usar la línea de comandos (SSH) para importar SQL gigantes

Si tu base de datos supera los 500 MB o incluso 1 GB, la opción más fiable es usar la línea de comandos. No te asustes, es más sencillo de lo que parece. Solo necesitas acceso SSH a tu servidor.

4.1. Conéctate por SSH

Desde tu terminal (si usas Windows, puedes usar PuTTY), escribe:

ssh usuario@tu-servidor.com

Te pedirá tu contraseña y ya estarás dentro.

4.2. Importa el archivo SQL

Una vez conectado, navega hasta la carpeta donde tienes el archivo SQL. Luego usa este comando:

mysql -u tu_usuario -p tu_base_de_datos < archivo.sql
  • Reemplaza tu_usuario con el usuario de la base de datos.

  • Reemplaza tu_base_de_datos con el nombre de la base de datos.

  • El comando te pedirá la contraseña. Escríbela y pulsa Enter.

Este método no tiene límite de tiempo ni de tamaño. Puede tardar varios minutos, pero no se cortará. Es la solución definitiva para phpmyadmin importar grande.


5. Dividir el archivo SQL en partes más pequeñas

Si no tienes acceso SSH y no puedes modificar los límites de PHP, otra solución práctica es dividir el archivo SQL en partes más pequeñas. Puedes usar herramientas como mysqldump o incluso editores de texto avanzados para separar las tablas.

5.1. Dividir con mysqldump

Si tienes acceso a SSH, puedes exportar la base de datos en partes:

mysqldump -u usuario -p base_datos tabla1 tabla2 > parte1.sql
mysqldump -u usuario -p base_datos tabla3 tabla4 > parte2.sql

Luego importas cada parte desde phpMyAdmin, una por una, y así evitas el timeout.

5.2. Dividir con un editor de texto

Si el archivo ya está exportado y no tienes acceso a la base original, puedes abrir el SQL en un editor como Notepad++ o Sublime Text. Busca las líneas que empiezan con CREATE TABLE y corta el archivo en varios fragmentos, asegurándote de que cada fragmento termine con un ;.

[TIP] Si divides el archivo, asegúrate de importar primero las tablas que no dependen de otras (las que no tienen claves foráneas hacia otras tablas). Así evitarás errores de integridad.


6. Configurar phpMyAdmin para subir archivos más grandes

Otra opción es modificar directamente la configuración de phpMyAdmin. Aunque los límites principales están en PHP, phpMyAdmin tiene su propia configuración que puedes ajustar.

Busca el archivo config.inc.php de phpMyAdmin (normalmente en /etc/phpmyadmin/ o en la carpeta de tu instalación). Añade estas líneas al final:

$cfg['UploadDir'] = '/tmp';
$cfg['SaveDir'] = '/tmp';

Esto permite que phpMyAdmin lea archivos directamente desde una carpeta del servidor, en lugar de depender de la subida por el navegador. Si colocas tu archivo SQL en /tmp, podrás seleccionarlo desde phpMyAdmin sin usar el formulario de subida.


7. Errores comunes al importar y cómo solucionarlos

Aunque sigas todos los pasos, pueden aparecer errores. Aquí tienes los más comunes:

7.1. Error: "El script no pudo ejecutarse"

Este error suele estar relacionado con el max_execution_time. Aumenta el valor en php.ini o en la configuración de Syspanel.

7.2. Error: "Archivo demasiado grande"

Es el límite de upload_max_filesize. Asegúrate de haber cambiado tanto upload_max_filesize como post_max_size.

7.3. Error: "Conexión perdida durante la importación"

Esto ocurre cuando el servidor se queda sin memoria o el tiempo se agota. Prueba con la línea de comandos o divide el archivo.

7.4. Error: "No se puede conectar a la base de datos"

Si el error aparece al principio, verifica que las credenciales de la base de datos sean correctas y que el servidor MySQL esté funcionando.

[WARNING] Nunca subas un archivo SQL que no hayas revisado antes. Si el archivo contiene comandos destructivos (como DROP TABLE), podrías perder datos importantes. Haz siempre una copia de seguridad antes de importar.


8. Preguntas frecuentes (FAQ) sobre importar bases de datos grandes

¿Qué tamaño de archivo SQL puede manejar phpMyAdmin?

En condiciones normales, phpMyAdmin puede manejar archivos de hasta 50 MB sin problemas. Por encima de eso, necesitas ajustar los límites o usar otro método.

¿Puedo importar una base de datos de 1 GB en phpMyAdmin?

Técnicamente sí, pero no es recomendable. Es mejor usar la línea de comandos o Syspanel.

¿Cómo sé si mi servidor usa Syspanel?

Si tu hosting es un VPS y el panel de control se llama HestiaCP o Syspanel, el acceso es por el puerto 2106. Si no estás seguro, contacta con tu proveedor.

¿Qué pasa si no tengo acceso SSH?

Puedes usar la opción de dividir el archivo o pedir a tu proveedor de hosting que aumente los límites de PHP temporalmente.

¿Es seguro importar un archivo SQL grande?

Sí, siempre que el archivo provenga de una fuente confiable y hayas hecho una copia de seguridad.


9. Resumen: qué hacer cuando phpMyAdmin no importa tu SQL

Para que no te pierdas, aquí tienes el resumen de acciones por orden de prioridad:

  1. Aumenta los límites de PHP en php.ini (upload_max_filesize, memory_limit, max_execution_time).

  2. Usa Syspanel si tu servidor lo tiene. Accede por el puerto 2106 y usa su importador.

  3. Usa SSH con el comando mysql -u usuario -p base < archivo.sql.

  4. Divide el archivo SQL en partes más pequeñas.

  5. Configura phpMyAdmin con UploadDir para leer archivos desde el servidor.

Con estos métodos, podrás subir un SQL grande a phpMyAdmin sin dolores de cabeza. La próxima vez que tengas que importar una base de datos pesada, ya sabes exactamente qué hacer.

[INFO] Si después de probar todo sigues teniendo problemas, contacta con tu proveedor de hosting. A veces, los límites están configurados a nivel de servidor y solo ellos pueden cambiarlos.

¿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