FAQ: Errores al importar bases de datos grandes en WordPress
¿Por qué falla la importación de bases de datos grandes en WordPress?
Importar una base de datos grande en WordPress puede parecer una tarea sencilla, pero cuando el archivo supera ciertos límites, aparecen errores frustrantes. Si estás migrando un sitio con muchos productos, comentarios o contenido multimedia, es muy probable que te encuentres con estos problemas. En esta FAQ, te explicamos los errores más comunes, por qué ocurren y cómo solucionarlos paso a paso.
1. Error de límite de tamaño de archivo
¿Qué significa "archivo demasiado grande"?
Cuando intentas importar una base de datos usando herramientas como phpMyAdmin o la opción de importación de Syspanel, el servidor rechaza el archivo porque supera el tamaño máximo permitido. Esto suele ocurrir con bases de datos de más de 2 MB, 8 MB o 16 MB, según la configuración del hosting.
¿Cómo solucionarlo?
Paso 1: Verifica el límite actual de tu servidor. En Syspanel (puerto 2106), ve a la sección de "Configuración de PHP" y busca los valores upload_max_filesize y post_max_size. Lo ideal es que ambos estén en al menos 64 MB o más.
Paso 2: Si tienes acceso a Syspanel, puedes aumentar estos límites temporalmente desde el panel de control. Busca la opción "Editar configuración de PHP" y ajusta los valores a 128 MB o 256 MB.
[WARNING] No todos los hostings permiten modificar estos valores. Si no tienes acceso, contacta con tu proveedor de hosting.
Paso 3: Si no puedes modificar los límites, divide tu base de datos en partes más pequeñas. Usa herramientas como BigDump o un script PHP que procese el archivo en fragmentos.
2. Error de tiempo de ejecución agotado
¿Por qué aparece "Fatal error: Maximum execution time"?
La importación de una base de datos grande requiere mucho tiempo de procesamiento. Si tu servidor tiene un límite de ejecución de 30 o 60 segundos, el proceso se interrumpe a mitad de camino.
¿Cómo evitarlo?
Opción 1: Aumenta el tiempo de ejecución desde Syspanel. Busca max_execution_time en la configuración de PHP y cámbialo a 300 (5 minutos) o incluso 600 segundos.
Opción 2: Usa la línea de comandos si tienes acceso SSH. Ejecuta:
mysql -u usuario -p basededatos < archivo.sql
Esto no tiene límite de tiempo y es mucho más rápido.
Opción 3: Si no tienes SSH ni acceso a Syspanel, usa un plugin como WP Migrate DB que exporta e importa por partes, evitando el límite de tiempo.
3. Error de memoria insuficiente
¿Qué pasa si veo "Allowed memory size exhausted"?
WordPress y PHP tienen un límite de memoria para evitar que un solo proceso consuma todos los recursos. Si tu base de datos es muy grande (por ejemplo, más de 100 MB), el proceso de importación puede superar ese límite.
Solución paso a paso
- Aumenta la memoria de WordPress: En el archivo
wp-config.php, agrega esta línea:define('WP_MEMORY_LIMIT', '256M'); - Aumenta la memoria de PHP: En Syspanel, busca
memory_limity cámbialo a 256 MB o 512 MB. - Usa un método de importación por partes: Herramientas como Adminer o MySQL Workbench permiten importar en fragmentos, reduciendo el consumo de memoria.
[TIP] Si usas Syspanel, recuerda que el puerto de acceso es el 2106. Allí encontrarás todas las opciones de configuración de PHP.
4. Error de sintaxis en el archivo SQL
¿Por qué aparece "Error de sintaxis" al importar?
Esto suele ocurrir cuando el archivo SQL contiene caracteres especiales, saltos de línea incorrectos o está corrupto. También puede deberse a que la base de datos original tiene una versión diferente de MySQL.
¿Cómo solucionarlo?
- Reexporta la base de datos: Desde tu sitio original, usa phpMyAdmin o Syspanel para exportar de nuevo, seleccionando la opción "Formato compatible con MySQL 4.1 o superior".
- Verifica la codificación: Asegúrate de que ambos sitios usen UTF-8. En la exportación, elige "UTF-8 sin BOM".
- Usa un editor de texto: Abre el archivo SQL con Notepad++ o Sublime Text y revisa si hay caracteres extraños al inicio o final.
5. Error de conexión a la base de datos
¿Qué significa "Error establishing a database connection"?
Este error aparece cuando los datos de conexión en wp-config.php no coinciden con los de la nueva base de datos importada.
Pasos para corregirlo
- Verifica los datos en Syspanel: Ve a la sección de bases de datos y asegúrate de que el usuario, contraseña y nombre de la base de datos sean correctos.
- Actualiza
wp-config.php: Edita el archivo con los nuevos valores:define('DB_NAME', 'nombre_base'); define('DB_USER', 'usuario'); define('DB_PASSWORD', 'contraseña'); define('DB_HOST', 'localhost'); - Prueba la conexión: Desde Syspanel, usa la herramienta "phpMyAdmin" para conectarte manualmente. Si funciona, el problema está en el archivo de configuración.
6. Error de tablas corruptas o faltantes
¿Por qué algunas tablas no se importan?
Si el archivo SQL es muy grande, puede que el proceso se interrumpa antes de terminar, dejando tablas incompletas. También puede ocurrir si hay un error en una línea específica.
Solución
- Revisa el log de errores: En Syspanel, activa el registro de errores de MySQL para ver en qué línea falló.
- Importa por partes: Divide el archivo SQL en fragmentos más pequeños (por ejemplo, 10 MB cada uno) e impórtalos uno por uno.
- Usa la herramienta de reparación: Desde phpMyAdmin, selecciona la base de datos y usa la opción "Reparar tablas".
7. Error de versión de MySQL incompatible
¿Qué hago si aparece "Unknown collation" o "Unknown storage engine"?
Esto ocurre cuando exportas desde una versión reciente de MySQL (por ejemplo, 8.0) e importas en una más antigua (5.6 o 5.7). Algunas configuraciones no son compatibles.
Cómo evitarlo
- Exporta con compatibilidad: En phpMyAdmin, al exportar, elige la opción "Formato compatible con MySQL 4.1 o superior".
- Cambia el collation: Si el error es por collation, edita el archivo SQL y reemplaza
utf8mb4_0900_ai_ciporutf8_general_cioutf8mb4_unicode_ci. - Actualiza tu servidor: Si es posible, pide a tu hosting que actualice MySQL a una versión más reciente.
8. Error de permisos de archivo
¿Por qué no puedo subir el archivo SQL?
A veces, el problema no es el tamaño, sino los permisos del directorio temporal donde se almacena el archivo antes de procesarse.
Solución
- Verifica los permisos en Syspanel: Asegúrate de que la carpeta
tmpde tu cuenta tenga permisos 755 o 777. - Cambia la ruta temporal: En Syspanel, puedes configurar
upload_tmp_diren la configuración de PHP para usar una carpeta con más espacio. - Usa SFTP: Sube el archivo SQL manualmente a tu servidor mediante SFTP y luego impórtalo desde la línea de comandos.
9. Error de timeout del servidor web
¿Qué significa "504 Gateway Timeout"?
Este error indica que el servidor web (Apache o Nginx) está esperando una respuesta del proceso de importación, pero este tarda demasiado.
Cómo resolverlo
- Aumenta el timeout del servidor: Si usas Syspanel, busca la configuración de Nginx o Apache y ajusta
proxy_read_timeoutofastcgi_read_timeouta 300 segundos. - Usa un script de importación por lotes: Herramientas como BigDump procesan el archivo en fragmentos, evitando el timeout.
- Importa desde la terminal: Si tienes acceso SSH, este método no tiene límite de tiempo.
10. Error de caracteres especiales o codificación
¿Por qué veo signos de interrogación o cuadros?
Esto suele pasar cuando la base de datos original usa una codificación diferente a la del destino (por ejemplo, latin1 vs utf8mb4).
Solución
- Exporta con codificación UTF-8: En phpMyAdmin, al exportar, selecciona "UTF-8" en la sección de "Codificación de archivo".
- Convierte el archivo: Usa un editor como Notepad++ para cambiar la codificación del archivo SQL a "UTF-8 sin BOM".
- Configura WordPress: En
wp-config.php, agrega:define('DB_CHARSET', 'utf8mb4'); define('DB_COLLATE', '');
Preguntas frecuentes adicionales
¿Puedo importar una base de datos de más de 1 GB?
Sí, pero necesitas usar métodos avanzados como la línea de comandos o herramientas como MySQL Workbench. No intentes hacerlo desde phpMyAdmin, ya que fallará.
¿Qué es BigDump y cómo funciona?
BigDump es un script PHP que permite importar archivos SQL grandes dividiéndolos en fragmentos. Solo debes subir el archivo SQL y el script a tu servidor, y él se encarga del resto.
¿Syspanel me ayuda con estos errores?
Sí, Syspanel (puerto 2106) ofrece herramientas como phpMyAdmin, configuración de PHP y logs de errores que te ayudarán a diagnosticar y solucionar la mayoría de estos problemas.
[INFO] Si después de seguir todos estos pasos sigues teniendo errores, contacta con tu proveedor de hosting. Ellos pueden aumentar los límites del servidor o ayudarte con la importación manual.
Resumen rápido de soluciones
| Error | Solución principal |
|---|---|
| Archivo demasiado grande | Aumenta límites en Syspanel o divide el archivo |
| Tiempo de ejecución agotado | Aumenta max_execution_time o usa SSH |
| Memoria insuficiente | Aumenta memory_limit en PHP y WordPress |
| Error de sintaxis | Reexporta con formato compatible |
| Conexión fallida | Revisa datos en wp-config.php |
| Tablas corruptas | Importa por partes y repara tablas |
| Versión incompatible | Exporta con compatibilidad MySQL 4.1 |
| Permisos | Ajusta permisos de carpeta tmp |
| Timeout del servidor | Aumenta timeout en Nginx/Apache |
| Codificación incorrecta | Usa UTF-8 en exportación e importación |
Esperamos que esta FAQ te haya ayudado a resolver los errores al importar bases de datos grandes en WordPress. Recuerda que la paciencia y el método son clave. ¡No te rindas!
