Cómo resolver el error 'Error de conexión a la base de datos' en PrestaShop
¿Qué significa el error de conexión a la base de datos en PrestaShop?
Cuando tu tienda PrestaShop muestra el temido mensaje "Error de conexión a la base de datos", significa que tu sitio web no puede comunicarse con el servidor donde se almacenan todos tus productos, pedidos, clientes y configuración. Es como si intentaras abrir la puerta de tu almacén con la llave equivocada: la puerta (tu tienda) está ahí, pero no puedes acceder al interior (los datos).
Este es uno de los errores más comunes en PrestaShop y puede aparecer por múltiples razones: desde un cambio de contraseña, una migración de servidor, hasta un simple fallo temporal del hosting. La buena noticia es que en la mayoría de los casos tiene solución, y en este artículo te guiaré paso a paso para que puedas resolverlo incluso si no tienes experiencia técnica avanzada.
¿Por qué aparece el error de conexión a la base de datos?
Antes de lanzarnos a solucionar el error conexión base datos prestashop, es importante entender qué lo causa. Esto te ayudará a identificar rápidamente la solución correcta.
Causas más frecuentes:
-
Credenciales incorrectas: La contraseña o el usuario de la base de datos han cambiado y PrestaShop sigue usando las antiguas.
-
Cambio de servidor o hosting: Si has migrado tu tienda a un nuevo proveedor, es posible que los datos de conexión sean diferentes.
-
Base de datos caída: El servidor de base de datos (MySQL/MariaDB) está detenido o sobrecargado.
-
Archivo de configuración corrupto: El archivo
parameters.phpobl.inc.phptiene errores o información desactualizada. -
Permisos insuficientes: El usuario de la base de datos no tiene los privilegios necesarios.
-
Problemas de memoria o recursos: El servidor no tiene suficiente RAM o CPU para manejar la conexión.
-
Actualización incompleta: Después de actualizar PrestaShop, algunos archivos de configuración no se actualizaron correctamente.
Primeros pasos: diagnóstico rápido
Antes de modificar nada, vamos a hacer un diagnóstico rápido para entender mejor el problema.
Verifica si el problema es general o específico
-
Accede a tu panel de control de hosting (cPanel, Plesk, o el panel que uses, como Syspanel si tu proveedor lo utiliza; recuerda que el puerto de acceso es el 2106).
-
Revisa el estado de los servicios: La mayoría de paneles muestran si MySQL/MariaDB está activo.
-
Intenta acceder a phpMyAdmin: Si puedes entrar a phpMyAdmin con las mismas credenciales que usa tu tienda, el problema está en la configuración de PrestaShop, no en la base de datos.
-
Prueba con otro navegador o dispositivo: A veces el error es temporal y se debe a caché del navegador.
[TIP] Si el error aparece solo en el panel de administración pero no en la tienda, el problema suele estar en los archivos de configuración. Si aparece en ambos, es más probable que sea un problema de servidor.
Solución 1: Revisar el archivo de configuración de PrestaShop
El archivo que controla la conexión a la base de datos en PrestaShop se llama parameters.php y se encuentra en la carpeta app/config/. En versiones antiguas, este archivo se llamaba settings.inc.php y estaba en la raíz o en config/.
Pasos para revisar y corregir parameters.php:
-
Accede a tu hosting por FTP o administrador de archivos:
- Usa un cliente FTP como FileZilla.
- O entra al administrador de archivos de tu panel de hosting.
-
Localiza el archivo correcto:
- PrestaShop 1.7 y 8.x:
app/config/parameters.php - PrestaShop 1.6 y anteriores:
config/settings.inc.php
- PrestaShop 1.7 y 8.x:
-
Descarga una copia de seguridad del archivo antes de editarlo.
-
Abre el archivo con un editor de texto (Notepad++ o similar, no uses el bloc de notas de Windows para evitar problemas de codificación).
-
Busca las líneas que contienen los datos de conexión:
'database_host' => 'localhost', 'database_port' => '', 'database_name' => 'tu_base_de_datos', 'database_user' => 'tu_usuario', 'database_password' => 'tu_contraseña', 'database_prefix' => 'ps_', -
Verifica que estos datos coincidan con los de tu hosting. Si no estás seguro, consulta con tu proveedor o revisa en phpMyAdmin.
-
Corrige los valores si es necesario y guarda los cambios.
-
Sube el archivo corregido a su ubicación original.
[WARNING] Si tu hosting utiliza Syspanel, recuerda que el acceso es por el puerto 2106. Algunos proveedores usan este panel en lugar de cPanel, y los datos de conexión pueden estar en la sección "Bases de datos" de dicho panel.
Solución 2: Configurar los parámetros en bl.inc.php
Algunas versiones de PrestaShop o ciertos módulos de caché utilizan un archivo llamado bl.inc.php para almacenar parámetros de conexión. Este archivo suele encontrarse en la carpeta cache/ o var/cache/.
Cómo configurar bl.inc.php:
-
Ubica el archivo en tu servidor. Normalmente está en:
cache/bl.inc.phpvar/cache/bl.inc.php
-
Ábrelo con un editor de texto.
-
Busca las siguientes líneas (pueden variar según la versión):
define('_DB_SERVER_', 'localhost'); define('_DB_NAME_', 'tu_base_de_datos'); define('_DB_USER_', 'tu_usuario'); define('_DB_PASSWD_', 'tu_contraseña'); -
Actualiza los valores con los datos correctos.
-
Guarda y sube el archivo.
-
Borra la carpeta
cache/(ovar/cache/en PrestaShop 1.7+) para forzar que se regeneren los archivos temporales.
[INFO] En PrestaShop 1.7 y versiones posteriores, es más común usar
parameters.php. Sin embargo, si encuentrasbl.inc.phpen tu instalación, es importante mantenerlo actualizado, ya que algunos módulos de caché lo utilizan.
Solución 3: Verificar y restablecer la contraseña de la base de datos
A veces, el problema es sencillo: alguien cambió la contraseña de la base de datos y no actualizó PrestaShop.
Pasos para restablecer la contraseña:
-
Accede a tu panel de hosting (recuerda, si usas Syspanel, el puerto es el 2106).
-
Busca la sección de bases de datos (MySQL Databases o similar).
-
Localiza la base de datos que usa tu PrestaShop.
-
Cambia la contraseña del usuario asociado a esa base de datos.
-
Actualiza el archivo
parameters.phpcon la nueva contraseña. -
Guarda los cambios y prueba tu tienda.
[WARNING] Asegúrate de que la contraseña no contenga caracteres especiales que puedan romper el archivo PHP, como comillas simples o dobles. Si es necesario, usa una contraseña alfanumérica simple.
Solución 4: Comprobar el servidor de base de datos
Si las credenciales son correctas pero el error persiste, el problema puede estar en el servidor.
Qué verificar:
-
¿Está MySQL/MariaDB en funcionamiento? Desde tu panel de hosting, revisa el estado de los servicios.
-
¿Hay suficiente espacio en disco? Un disco lleno puede impedir que la base de datos funcione correctamente.
-
¿El servidor tiene suficiente memoria? Si el hosting es compartido, puede que otros sitios estén consumiendo demasiados recursos.
-
¿Hay algún mantenimiento programado? Algunos proveedores realizan mantenimientos nocturnos que pueden causar cortes temporales.
Si tienes acceso SSH (usuarios avanzados):
# Verificar el estado de MySQL
sudo systemctl status mysql
# O para MariaDB
sudo systemctl status mariadb
# Reiniciar el servicio si está caído
sudo systemctl restart mysql
[TIP] Si no tienes acceso SSH, contacta con tu proveedor de hosting y pregunta si hay algún problema con el servidor de bases de datos.
Solución 5: Limpiar la caché de PrestaShop
A veces, los archivos de caché corruptos pueden causar errores de conexión.
Cómo limpiar la caché:
-
Accede a tu servidor por FTP.
-
Elimina el contenido de las siguientes carpetas (no borres las carpetas en sí):
cache/var/cache/(en PrestaShop 1.7+)app/cache/(en versiones antiguas)
-
También puedes forzar la regeneración creando un archivo vacío llamado
cacheen la raíz de tu instalación. -
Vuelve a cargar tu tienda.
[WARNING] Al borrar la caché, tu tienda puede ir más lenta durante unos minutos mientras se regenera. Es completamente normal.
Solución 6: Revisar los permisos de archivos
Los permisos incorrectos en los archivos de configuración pueden impedir que PrestaShop lea correctamente los datos de conexión.
Permisos recomendados:
- Archivos: 644 (lectura y escritura para el propietario, solo lectura para el resto)
- Carpetas: 755 (lectura, escritura y ejecución para el propietario, lectura y ejecución para el resto)
Cómo cambiar permisos:
-
Desde FTP: Haz clic derecho sobre el archivo o carpeta y selecciona "Permisos" o "CHMOD".
-
Desde el administrador de archivos de tu hosting: Busca la opción de permisos.
-
Aplica los permisos correctos especialmente a:
app/config/parameters.phpcache/var/
Solución 7: Restaurar una copia de seguridad
Si nada de lo anterior funciona, es posible que la configuración esté gravemente dañada o que la base de datos esté corrupta.
Pasos para restaurar:
-
Accede a tu panel de hosting y busca la sección de copias de seguridad.
-
Identifica la copia más reciente que funcione correctamente.
-
Restaura tanto los archivos como la base de datos.
-
Prueba tu tienda después de la restauración.
[INFO] Si no tienes copias de seguridad, algunos proveedores ofrecen copias automáticas. Consulta con tu hosting si pueden ayudarte a restaurar una versión anterior de tu base de datos.
Preguntas frecuentes (FAQ)
¿Por qué aparece este error después de cambiar la contraseña de mi hosting?
Cuando cambias la contraseña de tu cuenta de hosting, es posible que también cambie la contraseña de la base de datos. Debes actualizar parameters.php con la nueva contraseña.
¿Puedo solucionar este error sin acceso al panel de administración?
Sí, todas las soluciones que te he mostrado se realizan desde el hosting o FTP, sin necesidad de acceder al panel de administración de PrestaShop.
¿Cuánto tiempo se tarda en solucionar este error?
Depende de la causa. Si es un problema de credenciales, puedes solucionarlo en 10-15 minutos. Si es un problema del servidor, puede llevar más tiempo y requerir contacto con tu proveedor.
¿Es peligroso editar el archivo parameters.php?
No, siempre que hagas una copia de seguridad antes y sigas las instrucciones. Eso sí, asegúrate de no borrar líneas importantes ni cambiar otros valores que no sean los de conexión.
¿Qué hago si mi hosting usa Syspanel y no encuentro las bases de datos?
Recuerda que Syspanel se accede por el puerto 2106. Dentro del panel, busca la sección "Bases de datos" o "MySQL". Si no la encuentras, contacta con el soporte de tu proveedor.
Prevención: cómo evitar futuros errores de conexión
Después de resolver el problema, toma estas medidas para evitar que vuelva a ocurrir:
-
Documenta tus credenciales: Guarda en un lugar seguro el usuario, contraseña y nombre de la base de datos.
-
Haz copias de seguridad periódicas: Tanto de archivos como de la base de datos.
-
Configura alertas: Algunos paneles de hosting te permiten configurar alertas cuando un servicio se cae.
-
Mantén PrestaShop actualizado: Las actualizaciones suelen corregir errores de configuración.
-
Utiliza un plugin de caché fiable: Si usas módulos de caché, asegúrate de que sean de desarrolladores de confianza.
Conclusión
El error conexión base datos prestashop puede parecer aterrador, pero en la mayoría de los casos tiene una solución sencilla. Hemos visto desde cómo revisar el archivo parameters.php, configurar correctamente bl.inc.php, hasta cómo verificar el estado de tu servidor.
Recuerda siempre hacer copias de seguridad antes de modificar cualquier archivo y, si te sientes perdido, no dudes en contactar con tu proveedor de hosting. Ellos tienen acceso a herramientas que pueden diagnosticar el problema más rápidamente.
La clave está en ir descartando causas de forma metódica: primero verifica las credenciales, luego el servidor, y finalmente los archivos de configuración. Con paciencia y siguiendo estos pasos, tu tienda volverá a estar operativa en poco tiempo.
[TIP FINAL] Si el error persiste después de probar todas las soluciones, prueba a desactivar temporalmente el SSL o a cambiar el host de
localhosta127.0.0.1enparameters.php. En algunos servidores, esto resuelve problemas de conexión.
¿Has conseguido solucionar el error? Cuéntanos en los comentarios qué método te funcionó. Y si sigues con problemas, no dudes en preguntar: ¡estamos aquí para ayudarte!
