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

Errores de base de datos en PrestaShop y cómo arreglarlos

Actualizado el 21 de diciembre de 2025

¡Hola! Soy el soporte técnico de tu hosting. Si estás leyendo esto, seguramente tu tienda PrestaShop ha mostrado algún mensaje de error relacionado con la base de datos. No te preocupes, es uno de los problemas más comunes y, por suerte, casi siempre tienen solución. En esta guía extensa y muy detallada, te voy a explicar los errores de base de datos en PrestaShop más frecuentes, por qué ocurren y, lo más importante, cómo reparar base datos PrestaShop paso a paso, incluso si no eres un experto técnico.

Vamos a empezar desde lo más básico: entender qué es la base de datos de tu tienda. Imagina que tu tienda online es un gran almacén. Los productos, clientes, pedidos, configuraciones... todo está guardado en un enorme archivador. Ese archivador es la base de datos. Cuando algo falla en ese archivador (se corrompe un archivo, se pierde la conexión, etc.), tu tienda no puede funcionar correctamente.


¿Por qué aparecen errores de base de datos en PrestaShop?

Los errores pueden deberse a múltiples causas. Las más habituales son:

  • Corte de energía o apagado incorrecto del servidor: Si el servidor se apaga de golpe mientras se escribe en la base de datos, los archivos pueden quedar "a medio escribir" y corromperse.
  • Límites de recursos del hosting: Si tu plan de hosting es muy básico y tu tienda recibe mucho tráfico, la base de datos puede colapsar por falta de memoria o conexiones simultáneas.
  • Actualizaciones fallidas de PrestaShop, módulos o temas: Una actualización que no se completa correctamente puede dejar tablas incompatibles o faltantes.
  • Código malicioso o inyecciones SQL: Aunque es menos común en tiendas bien cuidadas, un ataque puede dañar la estructura de la base de datos.
  • Configuración incorrecta del archivo settings.inc.php: Este archivo guarda los datos de conexión (usuario, contraseña, servidor). Si se modifican accidentalmente, la conexión falla.
  • Versión de PHP incompatible: PrestaShop necesita una versión específica de PHP. Si tu hosting la cambia, la base de datos puede no responder bien.

Errores típicos de base de datos en PrestaShop y sus síntomas

Vamos a ver los mensajes de error más comunes que puedes encontrar en el front-end (la tienda visible) o en el back-office (el panel de administración).

1. "Error de conexión a la base de datos" / "Link to database cannot be established"

Este es el error más clásico. Tu tienda se queda en blanco y muestra un mensaje como:
"Cannot connect to database. Please check your database connection parameters in file settings.inc.php"

¿Qué significa?
Que PrestaShop no puede encontrar o comunicarse con el servidor de la base de datos. Las causas más probables son:

  • Los datos de conexión (usuario, contraseña, nombre de la base de datos o servidor) son incorrectos en el archivo de configuración.
  • El servidor de base de datos (normalmente localhost) está caído o no responde.
  • La base de datos ha sido eliminada accidentalmente.

2. "Error 500 Internal Server Error" relacionado con base de datos

A veces el error 500 no da más detalles, pero suele estar vinculado a problemas de base de datos si aparece justo después de una actualización o instalación de un módulo.

3. "Table 'ps_xxxx' doesn't exist" o "Missing table"

Si ves un error que menciona una tabla específica (por ejemplo, ps_product o ps_customer), significa que esa tabla está dañada o falta. Esto ocurre a menudo después de una migración o actualización fallida.

4. "MySQL server has gone away"

Este error indica que la conexión con el servidor MySQL se ha perdido durante una operación. Suele deberse a que el tiempo de ejecución de una consulta es demasiado largo (por ejemplo, al importar un catálogo grande) o a que el límite de memoria del servidor es muy bajo.

5. "General error: 2006 MySQL server has gone away"

Similar al anterior, pero más específico. La base de datos se desconecta mientras se ejecuta una consulta pesada.

6. "Error de integridad referencial" o "Foreign key constraint fails"

Esto ocurre cuando intentas eliminar un producto o categoría que tiene pedidos o registros relacionados. La base de datos protege la integridad y no permite la eliminación.


Cómo reparar base datos PrestaShop: Guía paso a paso

Ahora sí, vamos a la acción. Dependiendo del error, hay diferentes métodos. Te explico los más efectivos, desde los más sencillos (que puedes hacer desde el panel de control) hasta los más avanzados (con phpMyAdmin).

## Paso 1: Verifica la conexión a la base de datos (el error más común)

Este es el primer paso para cualquier error de conexión base datos PrestaShop.

  1. Accede a tu panel de control de hosting. Si usas Syspanel, recuerda que la URL es tu-dominio:2106 (por ejemplo, miprestashop.com:2106).
  2. Busca la sección de "Bases de Datos" o "MySQL".
  3. Comprueba que la base de datos existe y que está activa. Si no la ves, puede que la hayan eliminado por error. Si es así, contacta con soporte.
  4. Ahora, localiza el archivo settings.inc.php de tu tienda. Normalmente está en la carpeta config/ de tu instalación de PrestaShop (por ejemplo, public_html/config/settings.inc.php). Puedes acceder a él mediante el Administrador de Archivos de tu panel o por FTP.
  5. Abre el archivo con un editor de texto (como el bloc de notas o el editor del panel). Busca líneas como estas:
    define('_DB_SERVER_', 'localhost');
    define('_DB_NAME_', 'nombre_de_tu_bd');
    define('_DB_USER_', 'usuario_de_tu_bd');
    define('_DB_PASSWD_', 'contraseña_de_tu_bd');
    
  6. Compara esos datos con los que ves en tu panel de control de bases de datos. Deben ser EXACTAMENTE IGUALES. Presta atención a:
    • El servidor: normalmente es localhost, pero algunos hostings usan algo como mysql.tudominio.com.
    • El nombre de la base de datos.
    • El usuario y la contraseña.
  7. Si algún dato es incorrecto, corrígelo y guarda el archivo.

[TIP] Si cambiaste la contraseña de la base de datos recientemente y olvidaste actualizar el archivo settings.inc.php, este es el motivo del error.

## Paso 2: Repara tablas dañadas con phpMyAdmin

Si la conexión es correcta pero aparecen errores de tablas faltantes o dañadas, puedes repararlas desde phpMyAdmin.

  1. Accede a phpMyAdmin desde tu panel de control. En Syspanel, suele estar en la sección de bases de datos o como un enlace directo.
  2. Selecciona la base de datos de tu PrestaShop (la que aparece en settings.inc.php).
  3. Verás una lista de tablas (todas empiezan con el prefijo ps_ o el que hayas configurado).
  4. Marca todas las tablas haciendo clic en la casilla de verificación de la parte superior.
  5. En el menú desplegable inferior (justo debajo de la lista de tablas), selecciona "Reparar tabla" (o "Repair table").
  6. phpMyAdmin ejecutará el comando REPAIR TABLE y te mostrará un mensaje de éxito o error. Si alguna tabla no se puede reparar, te lo indicará.

[WARNING] Este proceso no borra datos, solo intenta corregir la estructura. Si alguna tabla está muy dañada, es posible que necesites restaurar una copia de seguridad.

## Paso 3: Optimiza y verifica la integridad de la base de datos

A veces, el problema no es que las tablas estén rotas, sino que están sobrecargadas o con índices corruptos.

  1. En phpMyAdmin, vuelve a seleccionar todas las tablas.
  2. En el menú desplegable, elige "Optimizar tabla" (Optimize table). Esto libera espacio y reorganiza los índices.
  3. Después, selecciona "Verificar tabla" (Check table) para que MySQL revise la integridad.

## Paso 4: Aumenta los límites de recursos (si el error es "MySQL server has gone away")

Si tu error es por tiempo de espera o consultas muy grandes, necesitas modificar algunos parámetros del servidor. Como no siempre tienes acceso directo, puedes pedir a tu hosting que aumente estos valores, o si tienes acceso a my.cnf (en servidores dedicados o VPS), ajusta:

  • max_allowed_packet (por ejemplo, a 64M o 128M)
  • wait_timeout (por ejemplo, a 300 segundos)
  • innodb_buffer_pool_size (si usas InnoDB)

Si estás en un hosting compartido, contacta con soporte y diles: "Necesito aumentar max_allowed_packet y wait_timeout en MySQL para mi PrestaShop".

## Paso 5: Restaura una copia de seguridad (solución definitiva)

Si nada de lo anterior funciona, la opción más segura es restaurar una copia de seguridad reciente de tu base de datos. Esto revertirá cualquier cambio dañino.

  1. En tu panel de control (Syspanel, por ejemplo), busca la sección de "Backups" o "Copias de seguridad".
  2. Descarga la copia más reciente de la base de datos (normalmente en formato .sql o .gz).
  3. Ve a phpMyAdmin, selecciona tu base de datos, haz clic en la pestaña "Importar" (Import).
  4. Sube el archivo de la copia de seguridad y ejecuta la importación. Importante: Esto sobrescribirá todos los datos actuales.

[INFO] Siempre es recomendable tener copias de seguridad automatizadas. En Syspanel, puedes configurar backups diarios o semanales desde la sección de programación de tareas.


Cómo prevenir futuros errores de base de datos en PrestaShop

Más vale prevenir que curar. Aquí tienes buenas prácticas:

  • Realiza copias de seguridad periódicas. Al menos una vez por semana.
  • Actualiza PrestaShop, módulos y temas solo desde el back-office y siempre con una copia de seguridad previa.
  • No instales módulos de fuentes no oficiales.
  • Mantén tu PHP actualizado dentro de las versiones compatibles con tu PrestaShop. (Consulta la documentación oficial).
  • Revisa los logs de errores de tu servidor periódicamente para detectar problemas antes de que afecten a la tienda.
  • Si usas Syspanel, aprovecha la herramienta de "Reparar base de datos" que a veces ofrecen en el panel, o contacta con su soporte técnico.

Preguntas Frecuentes (FAQ)

¿Puedo perder datos si reparo las tablas?

No, la reparación solo corrige la estructura, no borra contenido. Sin embargo, si una tabla está muy dañada, puede que pierdas algunos registros. Por eso es clave tener copias de seguridad.

¿Qué hago si no recuerdo la contraseña de la base de datos?

Puedes cambiarla desde tu panel de control (en Syspanel, en la sección de bases de datos). Luego, actualiza el archivo settings.inc.php con la nueva contraseña.

El error "Table 'ps_employee' doesn't exist" me impide acceder al back-office. ¿Cómo lo arreglo?

Esta tabla guarda los datos de los administradores. Si está dañada, puedes intentar repararla con phpMyAdmin. Si no funciona, restaura una copia de seguridad. Como último recurso, puedes crear la tabla manualmente con la estructura original de PrestaShop (búscala en la documentación oficial o en una instalación limpia).

¿Por qué después de una actualización de PrestaShop aparecen errores de base de datos?

Las actualizaciones modifican la estructura de las tablas. Si algo falla a mitad del proceso, las tablas quedan en un estado inconsistente. La solución es ejecutar el script de actualización de nuevo o restaurar la copia de seguridad previa y volver a intentarlo.

¿Puedo usar un plugin para reparar la base de datos?

Existen módulos de PrestaShop que permiten reparar tablas desde el back-office, como "Database Repair". Sin embargo, si el error impide acceder al panel, tendrás que usar phpMyAdmin.

Mi hosting es muy básico, ¿puedo tener estos errores por falta de recursos?

Sí, especialmente si tu tienda tiene muchos productos o visitas. Los hostings compartidos limitan el número de conexiones simultáneas a MySQL. Si ves errores de "Too many connections", considera migrar a un plan superior o a un VPS.


Conclusión final

Los errores de base de datos en PrestaShop pueden parecer un problema grave, pero en la mayoría de los casos se solucionan con unos pocos clics desde phpMyAdmin o ajustando el archivo de configuración. Recuerda que la paciencia y las copias de seguridad son tus mejores aliados.

Si después de seguir todos estos pasos el error persiste, no dudes en contactar con el soporte técnico de tu hosting. En Syspanel (recuerda, acceso por puerto 2106), el equipo de soporte puede ayudarte a revisar los logs del servidor y realizar reparaciones más profundas si es necesario.

Espero que esta guía te haya sido de gran ayuda. ¡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