¿Qué es el error "Link to database cannot be established" en PrestaShop?
Este mensaje es uno de los fallos más comunes y molestos en PrestaShop. Indica de manera directa que la aplicación web no puede comunicarse con el servidor de la base de datos MySQL. Cuando esto ocurre, todo tu catálogo de productos, los datos de los clientes y el historial de pedidos quedan inaccesibles, mostrando una pantalla en blanco con esta advertencia.
Causas comunes de este fallo de conexión
- Credenciales de conexión incorrectas: Cambios recientes en la contraseña del usuario de la base de datos, en el nombre de usuario o en el host de conexión.
- Servidor de base de datos caído: El servicio de MySQL en tu alojamiento web se ha detenido temporalmente por falta de recursos o mantenimiento técnico.
- Límite de conexiones excedido: Tu servidor de hosting ha superado el número de peticiones simultáneas permitidas en tu plan de alojamiento actual.
Método 1: Verificar y corregir el archivo de configuración de PrestaShop
En la mayoría de los casos, el problema se debe a que los datos de acceso en los archivos de configuración de tu sitio no coinciden con los reales del servidor de hosting. Dependiendo de tu versión de PrestaShop, la ruta del archivo que debes modificar varía:
Para PrestaShop 1.7 y versiones superiores (como PrestaShop 8), accede vía FTP o mediante el Administrador de Archivos de tu panel de control a la siguiente ruta:
/app/config/parameters.phpPara PrestaShop 1.6 y versiones anteriores, el archivo se encuentra en esta ruta:
/config/settings.inc.phpEdita el archivo correspondiente y asegúrate de que los siguientes parámetros coincidan exactamente con las credenciales de tu base de datos:
'database_host' => 'localhost'Asegúrate de comprobar también los campos de nombre de usuario, contraseña y nombre de la base de datos correspondientes en el mismo bloque de código:
'database_name' => 'nombre_de_tu_base_de_datos''database_user' => 'nombre_de_usuario_mysql''database_password' => 'tu_contraseña_segura'Método 2: Comprobar el estado del servicio MySQL en el servidor
Si los datos del archivo de configuración están perfectamente escritos, el problema radica directamente en el servidor. Si cuentas con un servidor VPS o un servidor dedicado con acceso root, puedes verificar si el servicio de base de datos está activo ejecutando el siguiente comando por SSH:
sudo systemctl status mysqlO en el caso de que utilices MariaDB:
sudo systemctl status mariadbSi el estado se muestra como inactivo o detenido, puedes proceder a reiniciarlo de inmediato con el siguiente comando:
sudo systemctl restart mysqlSi utilizas un hosting compartido y no tienes acceso a la consola SSH, deberás ponerte en contacto inmediatamente con el equipo de soporte de tu proveedor de hosting para que verifiquen si el nodo de bases de datos está caído.
Método 3: Reparar la base de datos desde phpMyAdmin
En ocasiones muy puntuales, una tabla corrupta dentro de la base de datos puede corromper la comunicación e impedir la carga de la tienda. Para solventarlo de forma sencilla, sigue estos pasos:
- Accede al panel de control de tu alojamiento web (cPanel, Plesk o similar) y abre la herramienta phpMyAdmin.
- Haz clic en el nombre de la base de datos asociada a tu tienda PrestaShop en la barra lateral izquierda.
- Desplázate hasta la parte inferior de la lista de tablas, marca la casilla que dice "Seleccionar todas".
- En el menú desplegable que aparece al lado, selecciona la opción llamada "Reparar la tabla".