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

Errores comunes al conectar PrestaShop con la base de datos y soluciones

Actualizado el 28 de septiembre de 2025

¿Te ha pasado que al intentar abrir tu tienda PrestaShop te encuentras con una pantalla en blanco o un mensaje de error que menciona la base de datos? Es una de las situaciones más frustrantes para cualquier dueño de tienda online. Pero no te preocupes, porque la mayoría de estos problemas tienen solución y suelen ser más sencillos de lo que parecen.

En este artículo vamos a recorrer los errores más comunes al conectar PrestaShop con la base de datos, desde el típico "Error de conexión a la base de datos" hasta problemas más específicos como "Tabla no encontrada". Te explicaré paso a paso cómo solucionarlos, usando un lenguaje claro y sin tecnicismos innecesarios.

Si estás aquí porque tu tienda ha dejado de funcionar o porque estás en plena instalación y algo no sale bien, has llegado al lugar indicado. Vamos a desglosar cada error y su solución.


¿Por qué PrestaShop necesita una base de datos?

Antes de meternos de lleno en los errores, es importante entender que PrestaShop guarda toda la información de tu tienda (productos, clientes, pedidos, configuraciones) en una base de datos MySQL. Sin una conexión correcta a esa base de datos, tu tienda simplemente no puede funcionar.

Cuando ves un mensaje como "PrestaShop error base de datos", significa que el archivo de configuración de PrestaShop (el famoso settings.inc.php o parameters.php en versiones modernas) no puede comunicarse con el servidor MySQL donde están tus datos.


Error 1: "Error de conexión a la base de datos" durante la instalación

Este es el clásico. Estás instalando PrestaShop por primera vez, llegas al paso de la base de datos y te aparece un mensaje rojo que dice algo como: "Error al conectar con la base de datos" o "No se puede establecer conexión con el servidor MySQL".

Causas más frecuentes

  • Datos incorrectos: nombre de la base de datos, usuario o contraseña mal escritos.
  • Servidor MySQL no accesible: el servidor de base de datos está caído o bloqueado.
  • Puerto incorrecto: MySQL suele usar el puerto 3306, pero a veces está configurado en otro.

Solución paso a paso

  1. Verifica los datos de conexión: Asegúrate de que el nombre de la base de datos, el usuario y la contraseña sean exactamente los que te proporcionó tu hosting. Un error común es confundir el nombre de la base de datos con el nombre del usuario.
  2. Comprueba el servidor MySQL: Si estás usando un panel como Syspanel (accesible por el puerto 2106), busca la sección de bases de datos y confirma que el servicio MySQL esté activo. En muchos paneles hay un botón "Reiniciar MySQL" o "Start".
  3. Revisa el puerto: Por defecto, PrestaShop asume que MySQL está en el puerto 3306. Si tu hosting usa otro (por ejemplo, 3307), debes especificarlo en el campo "Servidor de base de datos" como localhost:3307.
  4. Prueba con "localhost" o la IP: Si estás en un hosting compartido, normalmente el servidor es "localhost". Pero si tu base de datos está en un servidor separado, necesitarás la IP exacta.

[TIP] Si estás usando Syspanel, ve a la sección "Bases de datos" y allí verás los datos exactos de conexión: servidor, puerto, usuario y contraseña. Cópialos tal cual.


Error 2: "Tabla 'ps_xxx' no existe" al acceder a la tienda

Este error suele aparecer de repente, después de que la tienda funcionaba bien. Ves un mensaje como: "Table 'tu_bd.ps_product' doesn't exist".

¿Qué ha pasado?

  • Actualización incompleta: Al actualizar PrestaShop, alguna tabla no se creó correctamente.
  • Corrupción de la base de datos: Un corte de luz, un error del servidor o un plugin malo pueden dañar tablas.
  • Eliminación accidental: Alguien borró tablas por error desde phpMyAdmin o Syspanel.

Solución

  1. Identifica qué tabla falta: El mensaje de error te dice exactamente el nombre de la tabla (por ejemplo, ps_product).
  2. Repara la base de datos desde Syspanel:
    • Accede a Syspanel (puerto 2106).
    • Ve a "Bases de datos" y selecciona tu base de datos.
    • Busca la opción "Reparar" o "Repair Database". Esto intentará arreglar tablas dañadas.
  3. Restaura desde una copia de seguridad: Si la reparación no funciona, necesitas restaurar la base de datos desde un backup anterior. Si no tienes uno, es más complicado, pero puedes intentar recrear la tabla manualmente.
  4. Reinstala el módulo o tema: A veces el error es causado por un módulo que intenta acceder a una tabla que no existe. Desactiva módulos recientes para probar.

[WARNING] No intentes crear tablas manualmente si no sabes exactamente su estructura. Podrías empeorar las cosas. Siempre prefiere restaurar un backup.


Error 3: "El usuario 'usuario'@'localhost' ha sido denegado" (Access denied)

Este error indica que el usuario de la base de datos no tiene permisos para acceder desde donde estás intentando conectar.

Causas comunes

  • Permisos insuficientes: El usuario solo tiene permisos para conexiones locales y estás intentando desde un servidor remoto.
  • Contraseña incorrecta: Aunque parezca obvio, es el error más frecuente.
  • Usuario no creado correctamente: En paneles como Syspanel, a veces el usuario no está vinculado a la base de datos.

Solución

  1. Verifica la contraseña: Vuelve a escribirla cuidadosamente. Si no estás seguro, genera una nueva desde Syspanel.
  2. Revisa los permisos del usuario:
    • En Syspanel, ve a "Bases de datos" > "Usuarios".
    • Selecciona el usuario y asegúrate de que tenga todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.) sobre la base de datos correcta.
  3. Cambia el host del usuario: Si tu PrestaShop está en un servidor diferente al de la base de datos, necesitas que el usuario tenga permisos para '%' (cualquier host) o la IP específica del servidor web.
  4. Prueba con otro cliente MySQL: Usa herramientas como HeidiSQL o DBeaver para confirmar que puedes conectar con esos mismos datos.

[INFO] En la mayoría de hostings compartidos, el servidor de base de datos es el mismo que el servidor web, por lo que usar "localhost" funciona. Si tienes un VPS o servidor dedicado, puede que la base de datos esté en otro equipo.


Error 4: "La conexión a la base de datos se ha perdido" (intermitente)

Este error aparece cuando la tienda funciona unos segundos y luego se cae. Es muy frustrante porque no sabes si va a volver a pasar.

Posibles causas

  • Límite de conexiones excedido: Tu hosting tiene un número máximo de conexiones simultáneas a MySQL y tu tienda las supera.
  • Servidor MySQL sobrecargado: Demasiadas consultas lentas o picos de tráfico.
  • Timeout de conexión: La configuración de MySQL cierra conexiones inactivas demasiado rápido.

Soluciones

  1. Optimiza las consultas: Desactiva módulos pesados o mal programados. Usa la herramienta de rendimiento de PrestaShop para identificar consultas lentas.
  2. Aumenta el límite de conexiones (si tienes acceso):
    • En Syspanel, busca la configuración de MySQL y aumenta max_connections (por ejemplo, de 150 a 300).
    • Si no puedes, contacta a tu proveedor de hosting.
  3. Configura el tiempo de espera:
    • En el archivo config/database.php de PrestaShop (o en parameters.php), puedes ajustar el tiempo de espera de conexión. Agrega:
      'driver' => 'mysql',
      'host' => 'localhost',
      'port' => '3306',
      'database' => 'tu_bd',
      'username' => 'tu_usuario',
      'password' => 'tu_contraseña',
      'charset' => 'utf8mb4',
      'options' => [
          PDO::ATTR_TIMEOUT => 30,
          PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
      ],
      
  4. Usa un plugin de caché: Herramientas como "Cache & Performance" reducen las consultas a la base de datos.

[TIP] Si el error aparece solo en momentos de mucho tráfico, considera cambiar a un hosting con más recursos o usar una CDN.


Error 5: "No se puede conectar a la base de datos: el servidor no responde"

Este error es más grave: PrestaShop no puede ni siquiera iniciar la conexión. El mensaje suele ser: "Can't connect to MySQL server on 'localhost' (10061)".

Causas

  • MySQL no está corriendo: El servicio se ha detenido.
  • Firewall bloqueando el puerto: El puerto 3306 está cerrado.
  • Dirección del servidor incorrecta: El archivo de configuración apunta a un servidor que no existe.

Solución

  1. Reinicia el servicio MySQL:
    • En Syspanel, ve a "Servicios" o "Base de datos" y busca MySQL. Haz clic en "Reiniciar".
    • Si no tienes acceso, pide a tu hosting que lo hagan.
  2. Verifica el firewall:
    • Si tienes acceso SSH, ejecuta: sudo ufw allow 3306/tcp (en Ubuntu).
    • En Syspanel, revisa la configuración del firewall y asegúrate de que el puerto 3306 esté abierto para tu IP o para todas las conexiones si es necesario.
  3. Comprueba la dirección del servidor:
    • Abre el archivo app/config/parameters.php (en PrestaShop 1.7+) o config/settings.inc.php (en versiones antiguas).
    • Busca la línea 'database_host' => '...' y asegúrate de que sea correcta. Si usas Syspanel, suele ser localhost o 127.0.0.1.
  4. Prueba con un cliente externo: Conecta desde tu ordenador usando MySQL Workbench o la línea de comandos. Si tampoco puedes, el problema está en el servidor.

[WARNING] Si después de reiniciar MySQL el error persiste, puede que el disco duro del servidor esté lleno o que haya un problema de corrupción en las tablas del sistema. Contacta con soporte técnico.


Error 6: "PrestaShop no puede escribir en la base de datos" (permisos de escritura)

Este error es más sutil: la tienda carga, pero no puedes añadir productos, procesar pedidos o hacer cambios. Aparece un mensaje como: "Cannot insert data into database".

Causas

  • Espacio en disco agotado: La base de datos no puede crecer.
  • Permisos de usuario limitados: El usuario MySQL no tiene permisos de escritura.
  • Tabla llena: Alguna tabla ha alcanzado su límite de tamaño.

Solución

  1. Libera espacio en disco:
    • En Syspanel, revisa el uso del disco. Si está al 100%, elimina archivos temporales, logs o backups antiguos.
  2. Revisa los permisos del usuario:
    • En Syspanel, ve a "Bases de datos" > "Usuarios" y asegúrate de que el usuario tenga permisos INSERT, UPDATE, DELETE y CREATE.
  3. Optimiza las tablas:
    • Desde Syspanel, selecciona la base de datos y elige "Optimizar". Esto compacta las tablas y libera espacio.
  4. Aumenta el límite de tamaño de tabla (si aplica):
    • Esto es más avanzado. Si usas MySQL, puedes modificar max_heap_table_size o tmp_table_size en la configuración.

[INFO] A veces el error de escritura ocurre porque el motor de almacenamiento (MyISAM vs InnoDB) no es compatible. PrestaShop recomienda InnoDB. Puedes cambiar el motor desde Syspanel o con comandos SQL.


Error 7: "Versión de MySQL no compatible" al instalar PrestaShop

Este error aparece cuando intentas instalar una versión moderna de PrestaShop (1.7 o 8.x) y tu servidor MySQL es muy antiguo.

Requisitos de PrestaShop

  • PrestaShop 1.7 requiere MySQL 5.6 o superior.
  • PrestaShop 8.x requiere MySQL 5.7 o MySQL 8.0.

Solución

  1. Actualiza MySQL:
    • En Syspanel, busca la opción de actualización de servicios. Si no aparece, contacta a tu hosting.
    • Si tienes un VPS, puedes actualizar manualmente: sudo apt update && sudo apt upgrade mysql-server.
  2. Usa una versión anterior de PrestaShop:
    • Si no puedes actualizar MySQL, instala una versión de PrestaShop compatible (por ejemplo, 1.6 para MySQL 5.5).
  3. Configura el modo SQL:
    • A veces el error es por el modo STRICT_TRANS_TABLES. En Syspanel, puedes desactivarlo editando /etc/mysql/my.cnf y añadiendo sql_mode="".

[WARNING] No uses versiones antiguas de PrestaShop por mucho tiempo, ya que no reciben parches de seguridad.


Preguntas frecuentes (FAQ)

¿Cómo sé si mi base de datos está caída?

Si tu tienda muestra un mensaje de error de conexión o una página en blanco, lo primero es verificar desde Syspanel si el servicio MySQL está activo (verde). También puedes usar la herramienta de diagnóstico de PrestaShop.

¿Puedo cambiar la contraseña de la base de datos sin romper la tienda?

Sí, pero debes actualizar el archivo de configuración de PrestaShop (parameters.php o settings.inc.php) con la nueva contraseña. Si no lo haces, la tienda dejará de funcionar.

¿Qué hago si no tengo acceso a Syspanel?

Pide a tu proveedor de hosting que verifique el estado de MySQL y los permisos. La mayoría de los hostings tienen soporte 24/7 para estos problemas.

¿Un plugin puede dañar la base de datos?

Sí, especialmente los módulos mal programados o que modifican tablas. Siempre haz una copia de seguridad antes de instalar módulos nuevos.

¿Cómo hago un backup de la base de datos desde Syspanel?

En Syspanel, ve a "Bases de datos", selecciona tu base de datos y haz clic en "Exportar" o "Backup". Descarga el archivo .sql. Es recomendable hacerlo semanalmente.


Conclusión

Los errores de conexión a la base de datos en PrestaShop pueden ser frustrantes, pero como has visto, la mayoría tienen soluciones claras y aplicables. La clave está en verificar los datos de conexión, revisar los permisos y mantener los servicios actualizados.

Si después de seguir estos pasos el problema persiste, recuerda que siempre puedes pedir ayuda en los foros de PrestaShop o contactar al soporte de tu hosting. Y no olvides: las copias de seguridad son tu mejor amigo. Antes de hacer cualquier cambio importante, guarda un backup de tu base de datos.

Espero que este artículo te haya sido de gran ayuda. Si tienes alguna duda específica, déjala en los comentarios y con gusto te orientaré. ¡Buena suerte con tu tienda!

¿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