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

PrestaShop: solución a errores comunes de base de datos

Actualizado el 21 de noviembre de 2025

Cuando gestionas una tienda online con PrestaShop, la base de datos es el corazón de tu negocio. Almacena desde productos y pedidos hasta clientes y configuraciones. Por eso, cuando surgen errores base de datos, tu tienda puede volverse lenta, mostrar pantallas en blanco o incluso dejar de funcionar. No te preocupes: aquí te explicamos paso a paso cómo identificar, reparar y prevenir los problemas más comunes, incluso si no eres un experto técnico.

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

Antes de lanzarnos a las soluciones, es útil entender las causas. Los errores suelen aparecer por:

  • Actualizaciones incompletas de PrestaShop, módulos o temas.
  • Conexiones simultáneas que saturan el servidor (picos de tráfico).
  • Corrupción de tablas tras un corte de luz o un cierre forzado.
  • Configuraciones incorrectas en el archivo config/settings.inc.php (o app/config/parameters.php en versiones 1.7+).
  • Versiones incompatibles de PHP o MySQL/MariaDB.

Identificar la causa exacta te ahorrará tiempo. Si ves mensajes como “Cannot connect to database”, “Table not found” o “PDOException”, estás en el lugar correcto.

Errores comunes y cómo solucionarlos

A continuación, desglosamos los fallos más frecuentes y sus soluciones prácticas.

Error de conexión: "Cannot connect to database"

Este es el clásico. Tu tienda no puede comunicarse con la base de datos. Las causas suelen ser:

  • Credenciales incorrectas: usuario, contraseña, nombre de base de datos o servidor mal escritos.
  • Servidor de base de datos caído: el servicio MySQL/MariaDB no está funcionando.
  • Firewall bloqueando el puerto: normalmente el puerto 3306.

Solución paso a paso

  1. Verifica las credenciales en tu panel de control (por ejemplo, en Syspanel – recuerda que accedes por el puerto 2106). Ve a la sección de bases de datos y confirma usuario, contraseña y nombre.
  2. Revisa el archivo de configuración: en PrestaShop 1.6, busca config/settings.inc.php. En 1.7+, es app/config/parameters.php. Asegúrate de que los datos coinciden exactamente.
  3. Comprueba el estado del servicio: desde tu panel de hosting (Syspanel o similar), reinicia el servicio MySQL. Si no sabes cómo, contacta a tu proveedor.
  4. Prueba la conexión manualmente: usa una herramienta como phpMyAdmin (suele venir incluida en Syspanel) para ingresar con esas credenciales. Si falla, el problema está en el servidor.

[TIP] Si cambiaste recientemente la contraseña de la base de datos, actualízala también en el archivo de configuración de PrestaShop.

Tabla corrupta: "Table 'ps_product' doesn't exist" o errores similares

Las tablas pueden dañarse por cortes de energía, fallos del disco o actualizaciones interrumpidas. Un síntoma claro es que ciertas páginas (como productos o pedidos) den error.

Solución: reparar tablas desde phpMyAdmin

  1. Accede a phpMyAdmin desde tu panel de hosting (Syspanel > Bases de datos > phpMyAdmin).
  2. Selecciona la base de datos de tu tienda (normalmente tiene un prefijo como ps_).
  3. Marca todas las tablas (clic en “Seleccionar todo”).
  4. En el menú desplegable “Con seleccionados”, elige “Reparar tabla”.
  5. Espera a que termine. Si hay muchas tablas, puede tardar unos segundos.

Si el error persiste, puedes intentar reparar desde la línea de comandos (si tienes acceso SSH):

mysqlcheck -u usuario -p --auto-repair nombre_base_datos

[WARNING] Siempre haz una copia de seguridad antes de reparar. Una reparación mal hecha puede empeorar la corrupción.

Error de límite de conexiones: "Too many connections"

Esto ocurre cuando tu tienda recibe muchos visitantes simultáneos y el servidor no puede gestionar tantas conexiones a la base de datos. Es común en promociones o lanzamientos.

Soluciones prácticas

  • Aumenta el límite de conexiones: desde Syspanel o tu panel de hosting, busca la configuración de MySQL y cambia max_connections a un valor más alto (ej. 150 o 200). Luego reinicia MySQL.
  • Optimiza las consultas: desactiva módulos innecesarios que hagan muchas consultas. Por ejemplo, módulos de estadísticas en tiempo real.
  • Usa caché: activa la caché de PrestaShop (en Preferencias > Rendimiento) y considera usar Redis o Memcached.
  • Escala tu hosting: si el problema es recurrente, quizás necesites un plan con más recursos.

[INFO] En Syspanel, puedes monitorear el número de conexiones activas en la sección “Estadísticas del servidor”.

Error tras actualizar PrestaShop: "Duplicate column name" o "Column not found"

Las actualizaciones de PrestaShop o de módulos a veces dejan tablas incompletas. Por ejemplo, si una actualización añade una columna pero el proceso se interrumpe, verás errores de columna duplicada o faltante.

Solución: ejecutar el script de actualización manual

  1. Revisa el archivo de log de la actualización (suele estar en /adminXXX/autoupgrade/log/). Allí verás qué consulta SQL falló.
  2. Ejecuta esa consulta manualmente en phpMyAdmin. Por ejemplo, si falta una columna:
    ALTER TABLE ps_product ADD COLUMN new_column VARCHAR(255) DEFAULT NULL;
    
  3. Si hay columnas duplicadas, elimina la sobrante con:
    ALTER TABLE ps_product DROP COLUMN duplicate_column;
    
  4. Vuelve a ejecutar el actualizador desde el panel de administración.

[WARNING] No elimines columnas sin entender su función. Si dudas, consulta la documentación de la actualización.

Error de codificación: caracteres extraños (ñ, é, etc.)

Esto suele pasar al migrar la base de datos de un servidor a otro, o al cambiar la configuración de codificación. Los textos se ven con símbolos raros.

Solución: cambiar la codificación de la base de datos

  1. Exporta tu base de datos desde phpMyAdmin (sin datos, solo estructura).
  2. Edita el archivo SQL con un editor de texto (Notepad++ o similar) y busca CHARSET=utf8. Cámbialo a utf8mb4 (más completo).
  3. Importa la estructura modificada a una nueva base de datos.
  4. Vuelca los datos desde la base original a la nueva con la codificación correcta.

También puedes cambiar la codificación directamente en phpMyAdmin:

ALTER DATABASE nombre_base_datos CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE ps_product CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

[TIP] Siempre prueba en un entorno de desarrollo antes de aplicar cambios en producción.

Herramientas útiles para reparar tu base de datos

Además de phpMyAdmin, existen herramientas que facilitan el diagnóstico y la reparación.

Syspanel (HestiaCP) – Acceso por puerto 2106

Si tu hosting usa Syspanel, tienes un aliado potente. Desde su panel:

  • Ve a Bases de datos para gestionar usuarios y permisos.
  • Usa phpMyAdmin integrado para reparar tablas.
  • En Servicios, reinicia MySQL si está caído.
  • Revisa los logs de errores en la sección de registros para identificar problemas recurrentes.

[INFO] El puerto de acceso a Syspanel es el 2106 (ejemplo: https://tudominio.com:2106). No lo olvides.

Módulos de PrestaShop para mantenimiento

Existen módulos como “Database Cleaner” o “Advanced MySQL Repair” que automatizan la reparación desde el back office. Úsalos con precaución y siempre con copia de seguridad.

Línea de comandos (SSH)

Si tienes acceso SSH, puedes usar comandos rápidos:

  • Reparar todas las tablas: mysqlcheck -u usuario -p --auto-repair -o nombre_base
  • Optimizar tablas: mysqlcheck -u usuario -p --optimize nombre_base

Cómo prevenir futuros errores de base de datos

La prevención es la mejor solución. Sigue estos consejos para mantener tu tienda estable.

Copias de seguridad automáticas

Configura backups diarios desde Syspanel (o tu panel de hosting). En Syspanel, ve a Backups y programa copias de la base de datos. También puedes usar módulos como “PrestaShop Backup”.

Actualizaciones controladas

Nunca actualices PrestaShop, módulos o temas en producción sin antes probar en un entorno de staging. Si no tienes uno, muchos hostings (incluyendo Syspanel) ofrecen la opción de clonar tu tienda.

Monitoreo de rendimiento

Usa herramientas como Google PageSpeed Insights o GTmetrix para detectar consultas lentas. En el back office de PrestaShop, activa el modo de depuración (en Parámetros avanzados > Rendimiento) para ver el tiempo de carga de cada consulta.

Mantén tu servidor actualizado

Asegúrate de que PHP, MySQL y el sistema operativo estén en versiones compatibles con PrestaShop. Por ejemplo, PrestaShop 1.7 requiere PHP 7.1 o superior y MySQL 5.6+.

FAQ: Preguntas frecuentes sobre errores de base de datos en PrestaShop

¿Puedo reparar la base de datos sin perder datos?

Sí, siempre que uses herramientas de reparación (como REPAIR TABLE) y no modifiques datos manualmente. Eso sí, haz una copia de seguridad por si acaso.

¿Qué hago si después de reparar la base de datos la tienda sigue rota?

Prueba a restaurar una copia de seguridad anterior. Si no tienes, contacta con el soporte técnico de tu hosting. En Syspanel, puedes abrir un ticket desde el panel.

¿El error "PDOException" siempre es de base de datos?

No siempre. Puede deberse a un problema de permisos de archivos o a un módulo incompatible. Revisa los logs de error de PrestaShop (en /var/logs/ en versiones 1.7+).

¿Cómo sé si mi hosting es el culpable?

Si los errores ocurren en horas de alto tráfico, o si otros sitios en el mismo servidor también fallan, probablemente sea el hosting. En Syspanel, revisa el uso de recursos en la sección “Estadísticas”.

Conclusión: No temas a los errores de base de datos

Los errores base de datos en PrestaShop son más comunes de lo que crees, pero con las herramientas y pasos adecuados, puedes reparar tu tienda online en minutos. Recuerda: la clave está en la prevención (backups, actualizaciones controladas y monitoreo) y en actuar con calma cuando surja un problema.

Si te sientes abrumado, tu hosting (especialmente si usas Syspanel con su puerto 2106) suele ofrecer soporte técnico para ayudarte a resolver estos incidentes. ¡No dudes en pedir ayuda! Tu tienda merece estar siempre operativa.

[TIP FINAL] Guarda este artículo como referencia. La próxima vez que veas un error de base de datos, sabrás exactamente qué hacer.

¿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