Cómo arreglar el error 'Error de conexión a la base de datos' en PrestaShop
¿Por qué aparece el error de conexión a la base de datos en PrestaShop?
Ver el mensaje "Error de conexión a la base de datos" en tu tienda PrestaShop es, sin duda, una de las situaciones más estresantes para cualquier propietario de un negocio online. De repente, tus clientes no pueden ver los productos, no pueden añadir artículos al carrito y, en definitiva, tu tienda está fuera de servicio.
La buena noticia es que, en la gran mayoría de los casos, este error tiene una solución clara y no requiere ser un experto en programación. Este error base datos PrestaShop suele aparecer por un puñado de razones muy concretas: desde un cambio de contraseña en tu panel de control hasta un archivo de configuración con datos incorrectos, pasando por problemas de permisos o que el servidor de bases de datos esté saturado.
En esta guía extensa, te voy a explicar paso a paso y en un lenguaje muy sencillo cómo diagnosticar y arreglar este problema. Vamos a ir desde las comprobaciones más básicas hasta las más técnicas, para que puedas recuperar tu tienda cuanto antes. No te preocupes, iremos con calma.
Primera comprobación: ¿El problema es general o solo tuyo?
Antes de empezar a tocar archivos o configuraciones, es fundamental saber si el problema es exclusivo de tu tienda o si es algo más global. A veces, PrestaShop no conecta BD no por un error tuyo, sino porque el servidor donde está alojada tu web está experimentando una caída temporal.
Para comprobarlo, abre una ventana de incógnito en tu navegador (o pídele a un amigo que lo haga desde su casa) y escribe la URL de tu tienda. Si el error persiste, vamos a lo siguiente.
Otra prueba rápida: Si tienes acceso a un panel de control como cPanel o Syspanel, intenta entrar. Si tampoco puedes acceder a ese panel, es muy probable que el problema sea del servidor y no de tu tienda. En ese caso, contacta con tu proveedor de hosting inmediatamente.
La causa más común: El archivo parameters.php
Cuando PrestaShop no conecta BD, el primer lugar donde debemos mirar es el archivo de configuración de la tienda. Este archivo es el que contiene las credenciales de acceso a tu base de datos: el nombre de la base de datos, el usuario, la contraseña y el servidor.
El archivo se llama parameters.php y se encuentra en la carpeta app/config/ de tu instalación de PrestaShop.
¿Cómo acceder al archivo de configuración?
Para editarlo, necesitas un administrador de archivos. Tienes dos opciones:
- A través del panel de control (Syspanel o cPanel): Entra en tu panel de hosting y busca el "Administrador de archivos" (File Manager). Navega hasta
public_html(o el directorio raíz de tu tienda) y luego aapp/config/. Ahí verás el archivoparameters.php. - A través de FTP: Si tienes un programa como FileZilla, conéctate a tu servidor y navega a la misma ruta.
¿Qué debo buscar en parameters.php?
Una vez que tengas el archivo abierto, busca las líneas que contienen la información de la base de datos. Se verán más o menos así:
'database_host' => 'localhost',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
Aquí es donde está el 90% de las veces el origen del error base datos PrestaShop. Es muy común que, si has cambiado recientemente la contraseña de tu base de datos en el panel de control, este archivo siga conteniendo la contraseña antigua.
[INFO] Si no recuerdas haber cambiado nada, pero el error apareció de repente, es posible que tu proveedor de hosting haya realizado un cambio interno. En cualquier caso, lo que vamos a hacer es asegurarnos de que estos datos sean correctos.
Pasos para corregir los datos de conexión
- Ve a tu panel de control de hosting (Syspanel o cPanel) y busca la sección de "Bases de datos MySQL".
- Localiza el nombre de tu base de datos y el usuario asociado. Anótalos.
- Si no recuerdas la contraseña, cámbiala desde ese mismo panel. Importante: Si cambias la contraseña, deberás actualizarla también en el archivo
parameters.php. - Vuelve al archivo
parameters.phpy comprueba que los tres primeros campos (database_host,database_nameydatabase_user) coinciden exactamente con lo que ves en tu panel. Presta atención a las mayúsculas y minúsculas. - Actualiza el campo
database_passwordcon la contraseña correcta (la que hayas establecido). - Guarda el archivo y súbelo de nuevo al servidor si lo estabas editando en tu ordenador.
Después de esto, intenta cargar tu tienda. En muchos casos, este es el paso definitivo para la solución error PrestaShop.
El servidor de base de datos: localhost vs. dirección_ip
En el archivo parameters.php, el campo database_host suele estar configurado como localhost. Esto es correcto en la mayoría de los alojamientos compartidos. Sin embargo, en algunos servidores más avanzados o en configuraciones de nube, la base de datos se encuentra en un servidor separado y su dirección es una IP o un nombre de dominio (ej. mysql.tudominio.com o 192.168.1.10).
Si tu proveedor de hosting te ha indicado que la base de datos está en un servidor externo, asegúrate de que el campo database_host contenga esa dirección exacta. Un error aquí también provoca que PrestaShop no conecta BD.
Permisos de la base de datos: El usuario y sus privilegios
Otra causa frecuente de este error es que el usuario de la base de datos no tenga los permisos suficientes para conectarse o realizar consultas. Esto puede ocurrir si la base de datos se ha restaurado desde una copia de seguridad y los permisos se han restablecido incorrectamente.
Cómo verificar y otorgar todos los privilegios
- Accede a la sección de "Bases de datos MySQL" en tu panel de control.
- Busca la opción de "Gestionar usuarios" o "Añadir usuario a la base de datos".
- Asegúrate de que el usuario que estás utilizando en PrestaShop esté asociado a la base de datos correcta.
- Marca la casilla de "Todos los privilegios" (o "ALL PRIVILEGES"). Si no ves esta opción, selecciona manualmente todos los permisos disponibles (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
[WARNING] No te saltes este paso. Si el usuario solo tiene permisos de lectura (SELECT), la tienda cargará la portada, pero fallará al intentar añadir productos al carrito o al acceder al panel de administración.
El archivo .htaccess y la caché: Limpiando el entorno
A veces, el problema no es la conexión en sí, sino que una caché corrupta o un archivo .htaccess con reglas incorrectas están interfiriendo. Es una solución más simple, pero muy efectiva.
Regenerar el archivo .htaccess
El archivo .htaccess se encuentra en la raíz de tu instalación de PrestaShop. A veces, una modificación o una actualización fallida lo dejan en un estado que provoca conflictos.
- Accede a la raíz de tu tienda por FTP o File Manager.
- Descarga el archivo
.htaccessa tu ordenador como copia de seguridad. - Elimina el archivo
.htaccessdel servidor. - Ve al panel de administración de PrestaShop (si puedes acceder). Si no puedes, no te preocupes, hay otra forma.
- En el panel, ve a Parámetros avanzados > Rendimiento y haz clic en el botón "Regenerar el archivo .htaccess".
Si no tienes acceso al panel de administración, el problema es que no puedes regenerarlo desde ahí. En ese caso, la opción es crear un archivo .htaccess en blanco y subirlo. A veces, esto es suficiente para que PrestaShop lo reescriba automáticamente al siguiente acceso.
Forzar la regeneración de la caché
PrestaShop guarda archivos de caché en la carpeta var/cache (en versiones antiguas, cache). Estos archivos pueden estar corruptos.
- Conecta por FTP a tu servidor.
- Navega a la carpeta
var/cache(ocache). - Elimina todo el contenido de esa carpeta, pero no la carpeta en sí. No te preocupes, PrestaShop la volverá a llenar automáticamente.
[TIP] No borres el contenido de var/cache mientras la tienda esté en modo de mantenimiento si puedes evitarlo. Hazlo justo después de intentar acceder y fallar, para que el sistema la regenere con los datos correctos.
¿Has movido tu tienda o cambiado de hosting?
Si has cambiado recientemente de proveedor de hosting o has movido tu tienda de un servidor a otro, es muy probable que el archivo parameters.php contenga datos antiguos del servidor anterior. La solución es exactamente la misma que en el primer punto: asegurarte de que los datos de conexión son los del nuevo servidor.
Además, en este escenario, es crucial que la base de datos se haya importado correctamente en el nuevo servidor. A veces, la importación falla a mitad de camino y las tablas quedan incompletas, lo que también provoca errores de conexión.
Solución avanzada: El puerto de conexión a la base de datos
En la mayoría de los casos, la base de datos MySQL usa el puerto estándar 3306. Sin embargo, en algunos servidores, por seguridad, se cambia este puerto. Si tu proveedor te ha indicado un puerto específico, deberás añadirlo al archivo parameters.php.
Busca la línea 'database_port' => '3306', y cámbiala por el puerto que te hayan indicado. Si no aparece la línea, puedes añadirla después de 'database_password'.
¿Y si nada de esto funciona?
Si has seguido todos los pasos anteriores y el error base datos PrestaShop persiste, es hora de mirar más allá de la configuración de tu tienda. Puede que haya un problema con el servidor de bases de datos en sí. En este caso:
- Contacta con tu proveedor de hosting. Explícales el problema y lo que has hecho. Ellos podrán verificar si el servicio MySQL está activo y funcionando correctamente en sus servidores.
- Revisa los registros de errores de PHP. En tu panel de control o por FTP, busca la carpeta
var/logs(olog). Ahí encontrarás archivos con errores más detallados que te darán pistas más precisas. También puedes habilitar el modo debug de PrestaShop para ver el error exacto en pantalla, pero esto es más avanzado.
Preguntas frecuentes (FAQ) sobre el error de conexión
¿Cuánto tiempo se tarda en arreglar este error?
Depende de la causa. Si es un problema de contraseña, en 5 minutos lo tienes. Si es un problema más complejo de permisos o de servidor, puede llevar más tiempo, incluso horas si tienes que esperar la respuesta de tu hosting.
¿Perderé mis productos o pedidos si toco el archivo parameters.php?
No. Este archivo solo contiene la información de conexión. No afecta a tus datos. Mientras no toques la base de datos en sí, tus productos, clientes y pedidos están a salvo.
¿Puedo evitar que esto vuelva a pasar?
Es difícil prevenirlo al 100%, pero es recomendable que anotes en un lugar seguro (como un gestor de contraseñas) los datos de acceso a tu base de datos. Además, si realizas cambios en tu hosting, asegúrate de actualizar siempre la configuración de PrestaShop.
¿Qué es Syspanel?
Syspanel es el panel de control de hosting que utilizamos en nuestros servicios. Es la herramienta que te permite gestionar tus archivos, bases de datos y dominios. Puedes acceder a él a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Todas las referencias a "panel de control" en esta guía aplican a Syspanel si tu hosting es con nosotros.
[WARNING] Si tu hosting es con nosotros y has intentado todo sin éxito, no dudes en abrir un ticket de soporte. A veces, el problema está en el servidor y solo nosotros podemos solucionarlo. Es mejor pedir ayuda a tiempo que perder horas de ventas.
Espero que esta guía detallada te haya sido de gran ayuda para solucionar el error. Recuerda, la clave está en la paciencia y en ir descartando causas una a una. ¡Tu tienda volverá a estar operativa en poco tiempo!
