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

Errores comunes en bases de datos de PrestaShop y soluciones

Actualizado el 12 de mayo de 2026

¿Tu tienda PrestaShop va lenta, da errores al cargar el catálogo o, peor aún, aparece una pantalla en blanco? No te preocupes, es más común de lo que crees. La mayoría de estos problemas tienen su origen en la base de datos MySQL que gestiona todos los productos, pedidos y clientes. Como técnico de soporte, he visto cientos de casos similares. Aquí te explico los errores más frecuentes en bases de datos de PrestaShop y, lo más importante, cómo solucionarlos paso a paso, sin necesidad de ser un experto en programación.

Error 1: La temida pantalla blanca o error 500 al acceder al back office

Este es, sin duda, el error que más alertas genera. De repente, intentas entrar a tu panel de administración y todo lo que ves es una página en blanco o un mensaje "Error 500 Internal Server". La causa más habitual es que una tabla de la base de datos se ha corrompido o que el motor MySQL se ha quedado sin recursos.

Solución paso a paso

  1. Accede a la herramienta de gestión de bases de datos. Si tu hosting usa Syspanel (recuerda, el puerto de acceso es el 2106), busca la sección "Bases de Datos" o "phpMyAdmin". En otros paneles como cPanel, suele llamarse "phpMyAdmin" directamente.
  2. Selecciona la base de datos de tu PrestaShop. Verás una lista de tablas (productos, pedidos, etc.) a la izquierda.
  3. Marca todas las tablas. Haz clic en la casilla de verificación superior para seleccionarlas todas.
  4. En el menú desplegable "Con seleccionados", elige "Reparar tabla". Esto ejecutará un comando REPAIR TABLE que intenta corregir cualquier corrupción interna.

[TIP] Si el error persiste, es posible que el motor MySQL esté sobrecargado. En Syspanel, ve a "Servicios" y reinicia el servicio "MySQL" o "MariaDB". En otros paneles, busca la opción "Reiniciar MySQL".

Error 2: "Error de conexión a la base de datos" o "Cannot connect to database"

Este error suele aparecer cuando la tienda no puede comunicarse con MySQL. Las causas más comunes son un cambio de contraseña, que el servidor de bases de datos esté caído, o que los parámetros de conexión en el archivo de configuración de PrestaShop sean incorrectos.

Solución paso a paso

  1. Verifica que el servicio MySQL esté activo. En Syspanel, ve a la sección "Servicios" y asegúrate de que "MySQL" o "MariaDB" tenga un punto verde (activo). Si está rojo, haz clic en "Iniciar".
  2. Comprueba las credenciales en el archivo de configuración. Conéctate a tu servidor vía FTP o desde el administrador de archivos de tu panel de control. Busca el archivo app/config/parameters.php (en PrestaShop 1.7 y 8.x) o config/settings.inc.php (en PrestaShop 1.6).
  3. Abre el archivo con un editor de texto plano (Bloc de notas, Sublime Text, etc.). Busca las líneas:
    • 'database_host' => 'localhost' (o la IP de tu servidor de BD)
    • 'database_name' => 'nombre_de_tu_base'
    • 'database_user' => 'usuario_de_la_base'
    • 'database_password' => 'contraseña_de_la_base'
  4. Compara estos datos con los que tienes en tu panel de control. Si cambiaste la contraseña recientemente, actualízala aquí. Guarda el archivo y vuelve a cargar tu tienda.

[WARNING] Nunca uses un editor de texto enriquecido (como Word) para modificar estos archivos, ya que puede añadir caracteres ocultos y romper la conexión. Usa siempre un editor de código o texto plano.

Error 3: Tablas bloqueadas o "Table is marked as crashed and should be repaired"

Este mensaje aparece cuando una tabla específica (por ejemplo, ps_orders o ps_product) se ha dañado debido a un cierre inesperado del servidor, un plugin conflictivo o una escritura fallida. Es muy común en tiendas con mucho tráfico.

Solución paso a paso

  1. Identifica la tabla problemática. El mensaje de error te indicará exactamente qué tabla está rota (ej. ps_product_shop).
  2. Accede a phpMyAdmin. Desde el panel de control de tu hosting (o Syspanel puerto 2106), entra a la base de datos.
  3. Localiza la tabla en la lista de la izquierda. Haz clic sobre su nombre.
  4. En la pestaña "Operaciones", busca la sección "Mantenimiento de tablas". Haz clic en "Reparar tabla". Alternativamente, en la vista general de la base de datos, puedes marcar la tabla y elegir "Reparar tabla" en el menú desplegable.
  5. Si la reparación falla, puedes intentar una opción más avanzada: haz clic en la pestaña "SQL" y ejecuta el comando: REPAIR TABLE nombre_de_la_tabla USE_FRM; (esto fuerza la reconstrucción usando el archivo de estructura).

[INFO] PrestaShop tiene un sistema de caché de la base de datos. Después de reparar tablas, es una buena práctica ir a "Parámetros de la tienda > Rendimiento" y limpiar la caché. Esto evita que se muestren datos antiguos o corruptos.

Error 4: El catálogo de productos no se muestra o tarda mucho en cargar

Si tu tienda tiene cientos o miles de productos, es posible que las consultas a la base de datos sean muy lentas. Esto se debe a que faltan índices en las tablas, o hay un exceso de registros de búsqueda antiguos.

Solución paso a paso

  1. Limpia los registros de búsqueda. En el back office de PrestaShop, ve a "Parámetros de la tienda > Búsqueda". Busca el botón "Índice de búsqueda" y haz clic en "Añadir el índice al vacío". Esto reconstruye el índice de búsqueda y elimina datos obsoletos.
  2. Optimiza las tablas. Desde phpMyAdmin, marca todas las tablas de tu base de datos y en el menú desplegable selecciona "Optimizar tabla". Esto desfragmenta los archivos y libera espacio.
  3. Activa la caché de MySQL. En el archivo config/settings.inc.php o app/config/parameters.php, busca la línea 'database_cache' => 0 y cámbiala por 'database_cache' => 1. Esto almacena en memoria las consultas más frecuentes, acelerando la carga del catálogo.

Error 5: Error al importar o exportar la base de datos (límite de tamaño)

Cuando intentas hacer una copia de seguridad o restaurar una base de datos grande, a menudo aparece un error de "límite de memoria" o "tiempo de ejecución excedido". Esto es porque PHP o MySQL tienen restricciones de tamaño.

Solución paso a paso

  1. Usa la herramienta de exportación por partes. En phpMyAdmin, al exportar, selecciona la opción "Personalizado". En la sección "Formato de exportación específico", marca "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" y "Agregar IF NOT EXISTS". Luego, en "Cantidad de registros (INSERT) por consulta (max 2000)", reduce el número a 500 o 200. Esto divide la exportación en fragmentos más pequeños.
  2. Para importar, usa la opción "Importar archivo SQL comprimido". Sube el archivo .sql.gz (comprimido con GZIP) en lugar del .sql plano. La mayoría de los paneles aceptan archivos comprimidos, lo que evita el error de tamaño.
  3. Si el error persiste, usa la línea de comandos (SSH). Si tu hosting lo permite, conéctate por SSH y ejecuta: mysql -u usuario -p nombre_base < archivo.sql. Esto no tiene límites de tiempo de ejecución.

Error 6: Duplicación de productos o pedidos después de una migración

Al mover una tienda de un servidor a otro, es común que las claves primarias o los valores auto-incrementales se desincronicen, causando duplicados.

Solución paso a paso

  1. Verifica la integridad de las tablas. Después de la migración, ejecuta desde phpMyAdmin la consulta: CHECK TABLE ps_product, ps_product_shop, ps_orders;. Esto te dirá si hay errores de estructura.
  2. Reinicia los contadores auto-incrementales. Si hay duplicados, es posible que el contador de ID esté mal. Ejecuta: ALTER TABLE ps_product AUTO_INCREMENT = 1; (esto no borra productos, solo resetea el contador para el próximo registro).
  3. Usa el módulo "1-Click Upgrade" de PrestaShop. Si la migración fue de una versión antigua a una nueva, este módulo oficial puede reparar automáticamente la estructura de la base de datos.

Preguntas frecuentes (FAQ)

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

Los síntomas más comunes son: páginas en blanco, errores 500, mensajes como "Table is marked as crashed", o que al acceder al catálogo aparezcan productos con datos incompletos. También puedes revisar los logs de errores del servidor (en Syspanel, busca "Registros de errores" o "Logs").

¿Cada cuánto debo hacer una copia de seguridad de la base de datos?

Recomiendo hacer una copia completa al menos una vez por semana, y siempre antes de instalar un módulo, actualizar PrestaShop o hacer cambios en la configuración. Las copias diarias son ideales si tu tienda tiene mucho movimiento de pedidos.

¿Por qué mi base de datos crece tanto?

Los principales culpables son: los logs de actividad de clientes (tabla ps_connections), las búsquedas antiguas (tabla ps_search_word) y las versiones de productos (tabla ps_product_old). Puedes limpiar estas tablas periódicamente desde el back office en "Parámetros de la tienda > Mantenimiento > Base de datos", o manualmente desde phpMyAdmin.

¿Es seguro usar phpMyAdmin para reparar tablas?

Sí, siempre y cuando solo uses las opciones "Reparar" y "Optimizar". No modifiques datos manualmente a menos que sepas exactamente lo que estás haciendo. Si tienes dudas, consulta con tu servicio de hosting o un técnico.

¿Qué hago si mi hosting usa Syspanel y no encuentro phpMyAdmin?

En Syspanel (puerto 2106), la opción suele llamarse "Bases de Datos" o "phpMyAdmin" dentro del menú principal. Si no lo ves, contacta al soporte de tu hosting, ya que a veces está desactivado por seguridad y deben habilitarlo.

Conclusión: Mantén tu base de datos sana

Los errores de base de datos en PrestaShop son frustrantes, pero casi siempre tienen solución. La clave está en la prevención: realiza copias de seguridad periódicas, limpia los registros antiguos cada mes y no instales módulos de fuentes dudosas. Recuerda que una base de datos optimizada no solo evita errores, sino que hace que tu tienda cargue mucho más rápido, mejorando la experiencia de tus clientes y tu posicionamiento SEO.

Si después de seguir estos pasos el problema persiste, no dudes en contactar al soporte técnico de tu hosting. Proporciónales el mensaje de error exacto y los pasos que ya has intentado. Así podrán ayudarte de forma mucho más rápida. ¡Tu tienda online te lo agradecerá!

¿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