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

Cómo solucionar errores comunes de bases de datos en PrestaShop

Actualizado el 8 de marzo de 2026

Si estás gestionando una tienda online con PrestaShop, uno de los problemas más frustrantes que puedes encontrarte son los errores relacionados con la base de datos. Un simple fallo en la conexión o una tabla corrupta puede dejar tu tienda inaccesible, mostrar pantallas en blanco o lanzar mensajes crípticos como “Error de base de datos” o “Tabla no encontrada”. Pero no te preocupes: la mayoría de estos problemas tienen solución, y en esta guía te explicaré paso a paso cómo diagnosticarlos y repararlos.

Vamos a abordar los errores más comunes de base de datos PrestaShop y te daré métodos prácticos para solucionar errores sin necesidad de ser un experto en programación. Tanto si usas un panel de control como Syspanel (accesible por puerto 2106) como si trabajas directamente con herramientas de hosting, aquí encontrarás lo que necesitas.


¿Por qué ocurren los errores de base de datos en PrestaShop?

Antes de lanzarnos a las soluciones, es útil entender las causas más frecuentes:

  • Corrupción de tablas: Puede ocurrir por cortes de energía, caídas del servidor o cierres bruscos de PrestaShop.
  • Problemas de conexión: Credenciales incorrectas, servidor de base de datos caído o límites de conexión excedidos.
  • Actualizaciones incompletas: Al actualizar PrestaShop o un módulo, puede fallar la migración de datos.
  • Espacio en disco insuficiente: La base de datos no puede crecer si el servidor está lleno.
  • Versiones incompatibles: Usar una versión de PHP o MySQL que no es compatible con tu PrestaShop.

Errores comunes y cómo solucionarlos

A continuación, te presento los fallos más habituales y sus soluciones detalladas.

1. “Error de conexión a la base de datos” o “Cannot connect to database”

Este es el error más temido. Aparece cuando PrestaShop no puede comunicarse con el motor de base de datos (MySQL/MariaDB).

Causas principales:

  • Credenciales incorrectas en el archivo app/config/parameters.php.
  • El servidor de base de datos está caído o no responde.
  • El usuario de la base de datos no tiene permisos suficientes.

Pasos para solucionarlo:

  1. Verifica las credenciales: Accede a tu hosting (por ejemplo, a través de Syspanel en el puerto 2106) y busca el archivo parameters.php. Revisa que database_host, database_name, database_user y database_password sean correctos.
  2. Comprueba el estado del servidor: En Syspanel, ve a la sección de “Servicios” y asegúrate de que MySQL esté activo. Si está detenido, reinícialo.
  3. Prueba la conexión manualmente: Usa una herramienta como phpMyAdmin o la terminal de Syspanel para conectarte con las mismas credenciales. Si falla, el problema está en el hosting.
  4. Aumenta el límite de conexiones: Si tienes muchos visitantes, el servidor puede rechazar nuevas conexiones. En Syspanel, puedes ajustar el parámetro max_connections en la configuración de MySQL.

[WARNING] Si cambias las credenciales en parameters.php, recuerda que también debes actualizarlas en cualquier copia de seguridad o script externo.

2. “Table ‘ps_xxx’ doesn’t exist” o “Tabla no encontrada”

Este error suele aparecer después de una actualización fallida o al instalar un módulo. Significa que una tabla necesaria falta o está corrupta.

Pasos para solucionarlo:

  1. Identifica la tabla faltante: El mensaje de error te dirá exactamente qué tabla falta (ejemplo: ps_product_comment).
  2. Revisa si la tabla existe: Accede a phpMyAdmin o a la consola de Syspanel y ejecuta:
    SHOW TABLES LIKE 'ps_%';
    Busca la tabla mencionada.
  3. Repara o recrea la tabla:
    • Si la tabla existe pero está corrupta: REPAIR TABLE ps_xxx;
    • Si no existe, puedes crearla desde una copia de seguridad reciente. En Syspanel, usa la herramienta de “Restaurar base de datos” para cargar un backup.
  4. Reinstala el módulo o la actualización: Si el error surgió tras una instalación, desinstala y vuelve a instalar el módulo desde el panel de administración de PrestaShop.

[TIP] Siempre mantén copias de seguridad periódicas. En Syspanel, puedes programar backups automáticos diarios.

3. “Out of memory” o “Allowed memory size exhausted”

Aunque no es exclusivo de la base de datos, este error aparece cuando PrestaShop intenta cargar demasiados datos y se queda sin memoria.

Pasos para solucionarlo:

  1. Aumenta el límite de memoria PHP: En Syspanel, edita el archivo php.ini y cambia memory_limit = 128M a 256M o 512M.
  2. Optimiza las consultas: Si tienes muchos productos o categorías, activa la caché de PrestaShop en “Parámetros de la tienda > Rendimiento”.
  3. Reduce el número de resultados por página: En la configuración de productos, limita a 20 o 30 resultados.
  4. Revisa módulos pesados: Algunos módulos de terceros pueden hacer consultas ineficientes. Desactívalos temporalmente para identificar al culpable.

4. “MySQL server has gone away”

Este error indica que la conexión con la base de datos se perdió durante una operación larga (por ejemplo, al importar un catálogo grande).

Pasos para solucionarlo:

  1. Aumenta el tiempo de espera: En Syspanel, edita la configuración de MySQL y aumenta wait_timeout y max_allowed_packet. Valores recomendados: wait_timeout = 300 y max_allowed_packet = 64M.
  2. Divide las operaciones grandes: Si estás importando productos, hazlo en lotes de 100 o 200.
  3. Verifica la estabilidad del servidor: Si el error persiste, contacta a tu proveedor de hosting para que revise si hay cortes de red.

5. “Duplicate entry” o “Clave duplicada”

Ocurre cuando intentas insertar un registro que ya existe, generalmente debido a un módulo o a una migración incorrecta.

Pasos para solucionarlo:

  1. Identifica el duplicado: El mensaje incluirá el valor conflictivo. Ejecuta en phpMyAdmin:
    SELECT * FROM ps_xxx WHERE campo_duplicado = 'valor';
  2. Elimina el registro duplicado: Con cuidado, borra el registro que sobra. Si no estás seguro, haz una copia de seguridad primero.
  3. Repara la tabla: Después de limpiar, ejecuta REPAIR TABLE ps_xxx; para asegurar la integridad.
  4. Revisa el módulo responsable: Si el error se repite, desactiva módulos recién instalados hasta encontrar el culpable.

[INFO] En PrestaShop, las tablas que empiezan por ps_ son las predeterminadas. Si usas un prefijo personalizado, ajústalo en los comandos.


Herramientas útiles para diagnosticar y reparar

No necesitas ser un experto en bases de datos para resolver estos problemas. Aquí tienes las herramientas que te recomiendo:

  • phpMyAdmin: Accesible desde Syspanel (puerto 2106) o desde tu panel de hosting. Te permite ejecutar consultas SQL, reparar tablas y hacer backups.
  • Consola de Syspanel: Ofrece acceso directo a la terminal para comandos avanzados como mysqlcheck.
  • Módulo de PrestaShop “Database Repair”: Un módulo gratuito que escanea y repara tablas automáticamente.
  • Backups automáticos: Configúralos en Syspanel para tener siempre una copia reciente. En caso de desastre, restaura la base de datos desde el panel.

Comando rápido para reparar todas las tablas de tu base de datos:

mysqlcheck -u usuario -p contraseña --auto-repair nombre_base_datos

Ejecuta esto desde la terminal de Syspanel o desde phpMyAdmin.


Preguntas frecuentes (FAQ)

¿Cómo sé si mi base de datos está corrupta?

Los síntomas típicos son: páginas en blanco, errores “Table is marked as crashed” o “Can’t find file”. Puedes verificarlo ejecutando CHECK TABLE ps_xxx; en phpMyAdmin.

¿Puedo solucionar errores sin acceso a la base de datos?

Sí, pero es más limitado. Puedes intentar restaurar una copia de seguridad desde el panel de administración de PrestaShop (si aún tienes acceso) o desde Syspanel usando la opción “Restaurar base de datos”.

¿Qué hago si el error aparece después de una actualización de PrestaShop?

Primero, verifica que la versión de PHP y MySQL sean compatibles con la nueva versión de PrestaShop. Luego, ejecuta el script de actualización desde el panel de administración o manualmente. Si falla, restaura la copia de seguridad anterior y actualiza de nuevo.

¿Es seguro reparar tablas con comandos SQL?

Sí, siempre que tengas una copia de seguridad. Los comandos REPAIR TABLE y OPTIMIZE TABLE son seguros y no borran datos. Sin embargo, evita usar DROP TABLE a menos que estés seguro.

¿Cada cuánto debo hacer mantenimiento a la base de datos?

Recomiendo una revisión mensual: optimizar tablas, verificar integridad y limpiar registros huérfanos (por ejemplo, carritos abandonados). En Syspanel puedes programar tareas automáticas.


Consejos finales para evitar futuros errores

  • Actualiza con cuidado: Siempre haz un backup completo antes de actualizar PrestaShop, módulos o temas.
  • Elige un hosting de calidad: Un servidor con buen rendimiento y soporte técnico reduce drásticamente los errores.
  • Monitorea el espacio en disco: En Syspanel puedes ver el uso del disco. Si está al 90%, libera espacio o contrata más capacidad.
  • Usa la caché de PrestaShop: Actívala en “Rendimiento” para reducir la carga en la base de datos.
  • Documenta los cambios: Si modificas archivos de configuración, anota qué cambiaste y cuándo. Así, si algo falla, sabrás por dónde empezar.

Recuerda que el soporte PrestaShop de tu hosting (como el que ofrece Syspanel) puede ayudarte con problemas más complejos. No dudes en abrir un ticket si los pasos anteriores no resuelven el error.


Resumen rápido de comandos útiles

AcciónComando SQL (phpMyAdmin o terminal)
Reparar una tablaREPAIR TABLE ps_xxx;
Optimizar una tablaOPTIMIZE TABLE ps_xxx;
Verificar integridadCHECK TABLE ps_xxx;
Mostrar todas las tablasSHOW TABLES;
Ver estado del servidorSHOW STATUS;

Con esta guía, ya tienes las herramientas y el conocimiento para enfrentar los errores base de datos más comunes en PrestaShop. La clave está en actuar con calma, hacer copias de seguridad y seguir los pasos uno a uno. ¡Tu tienda online volverá a funcionar en poco tiempo!

¿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