¿Qué causa el error Link to database cannot be established en PrestaShop?
Este mensaje crítico aparece cuando PrestaShop no logra comunicarse con el servidor MySQL o MariaDB. A diferencia de un error genérico 500, este fallo detiene por completo la carga del catálogo y del backoffice, impidiendo que clientes y administradores interactúen con el sitio.
Las razones habituales detrás de este fallo son:
- Credenciales de acceso a la base de datos incorrectas tras una migración o cambio de contraseñas.
- El servicio MySQL/MariaDB se ha detenido por falta de memoria RAM o saturación en el servidor.
- El archivo de configuración principal de PrestaShop está corrupto o tiene permisos de lectura restringidos.
- El host de la base de datos está mal definido (por ejemplo, usar
localhosten lugar de127.0.0.1o la IP del servidor remoto).
Método 1: Verificar el archivo de configuración parameters.php
La causa más común radica en discrepancias dentro del archivo de configuración del entorno de Symfony en PrestaShop 1.7 o 8.x.
- Accede a los archivos de tu tienda mediante FTP (FileZilla) o el Administrador de Archivos de cPanel/Plesk.
- Navega hasta la ruta
app/config/parameters.phpy abre el archivo en modo edición. - Revisa atentamente las siguientes directivas y confirma que coincidan con los datos de tu gestor de base de datos:
'database_host' => '127.0.0.1','database_name' => 'nombre_de_tu_bd','database_user' => 'usuario_de_tu_bd','database_password' => 'contraseña_correcta', - Si el host está configurado como
localhost, cámbialo a127.0.0.1(o viceversa) para evitar problemas de resolución de sockets locales. - Guarda los cambios y recarga la tienda en tu navegador.
Método 2: Comprobar el estado del servicio de base de datos
Si las credenciales son exactas, es probable que el motor de base de datos haya dejado de responder o se haya cerrado inesperadamente por sobrecarga.
- Si cuentas con un servidor VPS o dedicado con acceso SSH, conéctate a la terminal y ejecuta:
sudo systemctl status mariadbosudo systemctl status mysql - Si el servicio aparece como inactivo o con fallos, reanúdalo con el siguiente comando:
sudo systemctl restart mariadb - En caso de estar en un hosting compartido, ingresa a cPanel y accede a phpMyAdmin. Si phpMyAdmin tampoco carga, contacta de inmediato con el soporte técnico de tu proveedor de hosting informando la caída del servicio.
Método 3: Purgar la caché manual de PrestaShop
En ocasiones, tras corregir las credenciales o reiniciar el servidor SQL, PrestaShop sigue mostrando el error debido a configuraciones obsoletas almacenadas en la caché interna.
- Accede mediante FTP a la raíz de tu instalación.
- Dirígete al directorio
var/cache/. - Elimina por completo las carpetas
prod/ydev/. - Al volver a abrir tu tienda web en el navegador, PrestaShop regenerará automáticamente la estructura de caché leyendo los nuevos parámetros de conexión sin registrar errores.