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

Cómo resolver el error 'PrestaShop no se conecta a la base de datos'

Actualizado el 14 de diciembre de 2025

¿Qué significa el error "PrestaShop no se conecta a la base de datos"?

Cuando visitas tu tienda online y te encuentras con un mensaje como "Error de conexión a la base de datos" o "PrestaShop error base de datos", significa que tu tienda no puede comunicarse con el servidor donde se almacenan tus productos, clientes y pedidos. Es uno de los errores más comunes y, afortunadamente, en la mayoría de los casos tiene solución sin necesidad de ser un experto.

Piensa en tu base de datos como el archivador central de tu tienda. Si PrestaShop no encuentra la llave para abrir ese archivador o si el archivador está roto, la tienda no puede mostrar nada. Lo bueno es que este problema casi siempre se debe a causas concretas y fáciles de identificar.

En esta guía, te voy a explicar paso a paso cómo solucionar conexión MySQL PrestaShop, desde lo más simple hasta lo más técnico. No necesitas ser un programador para seguir estos pasos, solo paciencia y seguir el orden correcto.


1. Verifica que el servidor de base de datos esté encendido

El primer paso, y el más básico, es comprobar que el servidor MySQL (o MariaDB) está funcionando. A veces el error de conexión no es culpa de PrestaShop, sino del propio servidor.

¿Cómo saber si MySQL está activo?

  • Si usas un hosting compartido: Revisa el panel de control de tu proveedor (cPanel, Plesk, etc.). Busca la sección de "Base de Datos" o "MySQL" y verifica si el servicio aparece como "Activo" o "Corriendo".
  • Si usas un VPS o servidor dedicado: Si tienes acceso por SSH, ejecuta este comando:
systemctl status mysql

O si usas MariaDB:

systemctl status mariadb

Si el servicio está caído, puedes iniciarlo con:

systemctl start mysql

[WARNING]
Si no te sientes cómodo con comandos SSH, no los uses. Mejor contacta con tu proveedor de hosting y pídeles que verifiquen el estado del servicio MySQL.

¿Y si el servidor está encendido pero el error continúa?

Entonces pasa al siguiente paso. El problema puede estar en la configuración de PrestaShop.


2. Revisa el archivo de configuración de la base de datos

PrestaShop guarda los datos de conexión a la base de datos en un archivo llamado parameters.php. Este archivo se encuentra en la carpeta app/config/ de tu instalación.

¿Qué debe contener ese archivo?

Debe tener algo como esto (con tus datos reales):

'database_host' => 'localhost',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',

Errores comunes en este archivo

  • El nombre de la base de datos es incorrecto (a veces los proveedores añaden un prefijo como usuario_basededatos).
  • El usuario o la contraseña han cambiado (esto pasa mucho si has restablecido la contraseña de MySQL recientemente).
  • El host no es localhost (en algunos hostings el host es algo como mysql.tudominio.com).

Cómo editarlo de forma segura

  1. Accede a tu hosting mediante FTP o al administrador de archivos del panel de control.
  2. Navega hasta la carpeta app/config/.
  3. Descarga el archivo parameters.php a tu ordenador.
  4. Ábrelo con un editor de texto plano (como Notepad++ o Sublime Text).
  5. Comprueba que los datos coinciden con los de tu base de datos.
  6. Si tienes dudas, consulta la información de tu base de datos en el panel de tu hosting.
  7. Guarda los cambios y vuelve a subir el archivo.

[TIP]
Antes de modificar nada, haz una copia de seguridad del archivo original. Si algo sale mal, podrás restaurarlo.


3. Comprueba los permisos del usuario de MySQL

A veces la conexión falla porque el usuario de la base de datos no tiene permisos suficientes. Esto es especialmente común si acabas de crear la base de datos o si has importado una copia de seguridad.

¿Qué permisos necesita PrestaShop?

El usuario debe tener al menos estos privilegios:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • CREATE
  • ALTER
  • INDEX
  • DROP
  • REFERENCES

Cómo otorgar permisos desde phpMyAdmin

  1. Entra a phpMyAdmin desde el panel de tu hosting.
  2. Selecciona tu base de datos.
  3. Ve a la pestaña "Privilegios" o "Usuarios".
  4. Busca el usuario que usa PrestaShop y haz clic en "Editar privilegios".
  5. Marca la opción "Todos los privilegios" o selecciona los necesarios.
  6. Guarda los cambios.

[INFO]
Si no ves la pestaña de privilegios, significa que tu usuario no tiene permisos de administrador. Contacta con tu proveedor de hosting para que te ayuden.


4. Verifica que la base de datos existe y no está corrupta

Otro motivo frecuente es que la base de datos haya sido eliminada por error o esté dañada. Esto puede pasar tras una importación fallida o un ataque.

Cómo comprobar si la base de datos existe

  1. Entra en phpMyAdmin.
  2. En el panel izquierdo deberías ver la lista de bases de datos.
  3. Busca el nombre que aparece en tu parameters.php.
  4. Si no existe, tendrás que crearla e importar una copia de seguridad.

¿Y si la base de datos existe pero está corrupta?

PrestaShop puede mostrar errores extraños si las tablas están dañadas. Una solución rápida es repararlas:

  1. En phpMyAdmin, selecciona tu base de datos.
  2. Marca todas las tablas (clic en "Seleccionar todo").
  3. En el menú desplegable, elige "Reparar tabla".
  4. Espera a que termine y prueba de nuevo.

[WARNING]
Si la reparación no funciona, es posible que necesites restaurar una copia de seguridad anterior. Si no tienes una copia, contacta con un profesional antes de intentar soluciones más agresivas.


5. Revisa si el servidor MySQL está bloqueando conexiones externas

En algunos casos, el servidor MySQL solo acepta conexiones desde localhost y no desde la IP pública del servidor web. Esto es común en configuraciones de VPS.

Cómo solucionarlo

Si tu parameters.php tiene una IP o un hostname que no es localhost, prueba a cambiarlo a localhost. Si eso no funciona, es posible que necesites configurar MySQL para aceptar conexiones remotas.

Esto se hace editando el archivo my.cnf (o my.ini en Windows) y cambiando la línea:

bind-address = 127.0.0.1

Por:

bind-address = 0.0.0.0

[TIP]
Este cambio solo debes hacerlo si sabes lo que estás haciendo. Abrir MySQL a conexiones externas sin protección puede ser un riesgo de seguridad. Mejor usa localhost siempre que sea posible.


6. Comprueba los logs de error de PrestaShop

PrestaShop guarda registros de errores que pueden darte pistas exactas sobre lo que está fallando.

Dónde encontrar los logs

  • En la carpeta var/logs/ de tu instalación de PrestaShop.
  • Busca archivos con nombres como prod.log o dev.log.

Qué buscar

Abre el archivo de logs y busca líneas que contengan "database" o "SQL". Verás mensajes como:

[Doctrine\DBAL\Exception\ConnectionException] An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user ...

Este mensaje indica que el usuario o la contraseña son incorrectos. Otros mensajes comunes:

  • Unknown database → La base de datos no existe.
  • Connection refused → El servidor MySQL no está accesible.
  • Too many connections → Hay demasiadas conexiones abiertas (poco común en tiendas pequeñas).

7. Actualiza la versión de PHP

Este punto es menos conocido, pero muy importante. Si has actualizado PHP recientemente o tu hosting ha cambiado la versión por defecto, es posible que PrestaShop no se conecte porque los controladores de MySQL no son compatibles.

Versiones recomendadas

  • PrestaShop 1.7 y 8.x: PHP 7.2 a 8.1 (recomendado 7.4 o 8.0).
  • PrestaShop 1.6: PHP 5.6 a 7.1 (no uses PHP 8).

Cómo cambiar la versión de PHP

En la mayoría de los hostings, puedes cambiar la versión de PHP desde el panel de control:

  1. Ve a la sección "Gestor de PHP" o "Select PHP Version".
  2. Elige una versión compatible.
  3. Guarda los cambios y prueba tu tienda de nuevo.

[WARNING]
Cambiar la versión de PHP puede afectar a otros aspectos de tu tienda. Hazlo con cuidado y verifica que todo funciona correctamente.


8. Si nada funciona: restaura una copia de seguridad

Si has probado todos los pasos anteriores y PrestaShop no conecta BD, puede ser el momento de restaurar una copia de seguridad de tu tienda.

Qué necesitas

  • Una copia de seguridad de los archivos de PrestaShop.
  • Una copia de seguridad de la base de datos (archivo .sql).

Pasos para restaurar

  1. Sube los archivos de la copia de seguridad a tu servidor (reemplazando los actuales).
  2. Importa la base de datos desde phpMyAdmin.
  3. Asegúrate de que el parameters.php coincide con los datos de la base de datos restaurada.

[TIP]
Si no tienes una copia de seguridad reciente, contacta con tu proveedor de hosting. Muchos ofrecen copias automáticas diarias que puedes restaurar.


9. Preguntas frecuentes (FAQ)

¿Por qué aparece el error solo en el front office pero no en el back office?

Esto puede pasar si hay un problema de caché o si el archivo parameters.php está mal configurado pero el back office usa una configuración diferente. Limpia la caché de PrestaShop desde el panel de administración (Parámetros avanzados → Rendimiento → Vaciar caché).

¿Puede ser un problema de firewall?

Sí, algunos firewalls bloquean las conexiones al puerto 3306 (el puerto por defecto de MySQL). Si tienes un firewall activo, asegúrate de que permite conexiones desde tu servidor web al servidor de base de datos.

¿Cuánto tiempo se tarda en solucionar este error?

Depende de la causa. Si es un problema de contraseña, tardarás 5 minutos. Si es algo más complejo, como una base de datos corrupta, puede llevarte un par de horas. En casos extremos, contacta con un profesional.

¿Debo contratar a un experto?

Si después de seguir todos estos pasos el problema persiste, es recomendable contactar con un desarrollador especializado en PrestaShop o con tu proveedor de hosting. A veces hay problemas más profundos que requieren conocimientos avanzados.


Conclusión final

El error conexión base datos PrestaShop puede ser frustrante, pero en la gran mayoría de los casos tiene una solución sencilla. Recuerda el orden lógico:

  1. Verifica que MySQL está encendido.
  2. Revisa el archivo parameters.php.
  3. Comprueba los permisos del usuario.
  4. Mira si la base de datos existe y está sana.
  5. Revisa los logs para obtener más información.
  6. Actualiza PHP si es necesario.
  7. Restaura una copia de seguridad como último recurso.

[INFO]
Si utilizas un panel de control como Syspanel (accesible en el puerto 2106), puedes gestionar tus bases de datos desde allí de forma visual, sin necesidad de usar SSH. Busca la sección de "Bases de datos" y verás todas las opciones para crear usuarios, asignar permisos y comprobar el estado del servicio.

No te desesperes. Respira, sigue los pasos uno a uno y, sobre todo, haz copias de seguridad periódicas de tu tienda. Así, cualquier problema que surja tendrá una solución rápida y sin pérdida de datos.

Si este artículo te ha sido útil, compártelo con otros comerciantes que puedan estar pasando por el mismo problema. Y recuerda: la paciencia y el método son tus mejores aliados en el mundo del hosting.

¿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