Solución al error 'No se puede conectar con la base de datos' en PrestaShop
¿Qué significa exactamente el error "No se puede conectar con la base de datos"?
Cuando tu tienda PrestaShop muestra el mensaje "No se puede conectar con la base de datos" (o en inglés "Error connecting to the database"), significa que tu sitio web no puede comunicarse con el servidor donde se almacenan todos los datos de tu tienda: productos, pedidos, clientes, contraseñas y configuración.
Este es uno de los errores más comunes en PrestaShop y, aunque puede parecer grave, en la mayoría de los casos tiene una solución sencilla que puedes aplicar sin necesidad de ser un experto en programación. Lo primero que debes saber es que este error puede aparecer tanto en la parte frontal de tu tienda como en el panel de administración, y las causas pueden variar desde un simple cambio de contraseña hasta un fallo en el servidor.
A lo largo de esta guía extensa y práctica, vamos a desglosar todas las causas posibles y te daremos soluciones paso a paso para que puedas recuperar tu tienda cuanto antes. Vamos a ello.
¿Por qué aparece el error de conexión a la base de datos en PrestaShop?
Antes de lanzarnos a solucionar el problema, es fundamental entender qué lo provoca. La conexión entre PrestaShop y su base de datos se realiza a través de un archivo de configuración llamado parameters.php (en versiones modernas) o settings.inc.php (en versiones antiguas). Este archivo contiene los datos de acceso: servidor, nombre de la base de datos, usuario y contraseña.
Si alguno de esos datos es incorrecto, o si el servidor de base de datos está caído, PrestaShop no podrá conectarse y mostrará el temido mensaje. Las causas más habituales son:
- Cambio de contraseña de la base de datos sin actualizar el archivo de configuración de PrestaShop.
- Cambio de proveedor de hosting y los datos no se han actualizado correctamente.
- La base de datos ha alcanzado su límite de espacio o el servidor MySQL está sobrecargado.
- El servicio MySQL/MariaDB está detenido en el servidor.
- Archivos de configuración corruptos o con permisos incorrectos.
- Problemas con la caché de PrestaShop o del servidor.
- Ataques o intentos de hackeo que han modificado los archivos de configuración.
A continuación, te mostramos cómo diagnosticar y resolver cada uno de estos escenarios.
Primeros pasos: diagnóstico inicial rápido
Antes de modificar nada, realiza esta comprobación básica para descartar problemas temporales:
1. Verifica si el problema es general o solo tuyo
- Abre tu tienda en una ventana de incógnito de tu navegador.
- Prueba a acceder desde otro dispositivo (móvil, otra computadora).
- Utiliza herramientas online como "Down for everyone or just me" para ver si el sitio está caído para todos o solo para ti.
[TIP] Si el error aparece solo en tu navegador, borra la caché y las cookies. A veces, el navegador guarda versiones antiguas de la página que muestran errores obsoletos.
2. Accede al panel de administración de tu hosting
Todos los errores de conexión a la base de datos se gestionan desde el panel de control de tu hosting. Dependiendo de tu proveedor, tendrás acceso a cPanel, Plesk, Syspanel u otro panel similar.
[INFO] Si tu hosting utiliza Syspanel (anteriormente conocido como HestiaCP), recuerda que el acceso se realiza a través del puerto 2106 (por ejemplo: https://tudominio.com:2106). Allí encontrarás las herramientas de gestión de bases de datos MySQL.
3. Comprueba si el servidor MySQL está activo
Desde tu panel de hosting, busca la sección de "Servicios" o "Estado del servidor". Deberías ver el estado de MySQL/MariaDB. Si aparece como "detenido" o "inactivo", actívalo manualmente.
Solución 1: Verificar y corregir los datos de conexión en el archivo de configuración
Esta es la causa más frecuente del error base de datos prestashop. Los datos de acceso a la base de datos se guardan en un archivo que PrestaShop lee cada vez que necesita conectarse.
¿Dónde está el archivo de configuración?
- PrestaShop 1.7 y versiones posteriores:
config/parameters.php - PrestaShop 1.6 y versiones anteriores:
config/settings.inc.php
Cómo editarlo de forma segura
- Accede a tu hosting a través de FTP (FileZilla, por ejemplo) o desde el administrador de archivos de tu panel de control.
- Navega hasta la carpeta
configde tu instalación de PrestaShop. - Descarga el archivo
parameters.php(osettings.inc.php) a tu computadora como copia de seguridad. - Ábrelo con un editor de texto plano (como Notepad++ o Sublime Text). Nunca uses Word porque puede alterar el formato.
- Busca las líneas que contienen los datos de conexión. En
parameters.phpverás algo similar a esto:
'database_host' => 'localhost',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
- Compara estos datos con los que tienes en tu panel de hosting. Si has cambiado recientemente la contraseña de la base de datos, o si has migrado de servidor, es muy probable que aquí esté el problema.
- Corrige los valores incorrectos y guarda el archivo.
- Sube el archivo modificado a tu servidor, sobrescribiendo el original.
[WARNING] Antes de editar, asegúrate de tener una copia de seguridad del archivo original. Si cometes un error, podrías empeorar la situación. Si no te sientes seguro, contacta con tu proveedor de hosting para que te ayuden.
Solución 2: Reiniciar el servicio MySQL desde el servidor
A veces, el problema no está en la configuración de PrestaShop, sino en el propio servidor de base de datos. Si MySQL se ha detenido por un reinicio, una actualización o un fallo del sistema, tu tienda no podrá conectarse.
Pasos para reiniciar MySQL
- Accede a tu panel de control (cPanel, Plesk, Syspanel en el puerto 2106, etc.).
- Busca la sección de "Bases de datos" o "MySQL".
- Localiza el botón de "Reiniciar" o "Restart" junto al servicio MySQL.
- Confirma la acción y espera unos segundos.
- Vuelve a cargar tu tienda PrestaShop.
[TIP] Si no encuentras la opción de reiniciar, también puedes hacerlo a través de SSH si tienes conocimientos técnicos: sudo systemctl restart mysql o sudo service mysql restart.
Solución 3: Comprobar que el usuario tiene permisos sobre la base de datos
Imagina que los datos son correctos pero el usuario no tiene permisos suficientes para acceder a la base de datos. Esto puede ocurrir después de restaurar una copia de seguridad o de migrar la tienda.
Cómo verificar y corregir permisos
- Ve a la sección de "Bases de datos MySQL" en tu panel de hosting.
- Localiza la base de datos que usa PrestaShop y el usuario asociado.
- Haz clic en "Administrar permisos" o "Editar usuario".
- Asegúrate de que el usuario tenga todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). En la mayoría de los paneles, existe un botón para marcar "Todos los privilegios".
- Guarda los cambios y prueba de nuevo tu tienda.
[INFO] Si estás usando Syspanel, esta opción está en "Bases de datos" → "MySQL" → selecciona la base de datos y luego "Usuarios vinculados". Ahí puedes editar los privilegios.
Solución 4: Forzar la regeneración de la caché de PrestaShop
PrestaShop guarda una copia de la configuración en su caché para acelerar las cargas. Si la caché se ha corrompido o guarda datos antiguos de conexión, puede mostrar el error aunque la configuración sea correcta.
Cómo limpiar la caché manualmente
- Accede a tu hosting por FTP o administrador de archivos.
- Elimina el contenido de las siguientes carpetas (no las carpetas en sí, solo su contenido):
var/cache(para PrestaShop 1.7+)cache(para PrestaShop 1.6)
- Si no puedes eliminar los archivos, renombra la carpeta
cacheacache_oldy crea una nueva carpetacachevacía con permisos 755.
[WARNING] Al eliminar la caché, tu tienda puede tardar unos segundos más en cargar la primera vez, pero esto es normal. No borres archivos fuera de estas carpetas.
Alternativa: desactivar la caché desde el archivo de configuración
Si no puedes acceder al panel de administración, puedes desactivar la caché temporalmente editando el archivo parameters.php:
- Busca la línea
'cache_enabled' => truey cámbiala afalse.
Esto forzará a PrestaShop a ignorar la caché y leer directamente la configuración.
Solución 5: Verificar el espacio en disco y los límites de la base de datos
Una base de datos llena o que ha alcanzado su límite de almacenamiento puede provocar errores de conexión. Esto es más común en planes de hosting compartido con cuotas limitadas.
Cómo comprobar el espacio
- En tu panel de control, busca la sección de "Uso de disco" o "Estadísticas".
- Revisa el espacio ocupado por la base de datos MySQL.
- Si está al 100% o muy cerca, necesitas:
- Eliminar registros antiguos (logs, pedidos cancelados, carritos abandonados).
- Optimizar las tablas desde phpMyAdmin: selecciona todas las tablas y elige "Optimizar".
- Contratar más espacio con tu proveedor.
[TIP] Puedes acceder a phpMyAdmin desde tu panel de hosting. Busca el icono de phpMyAdmin en la sección de bases de datos. Una vez dentro, selecciona tu base de datos y en la pestaña "Operaciones" podrás ver el tamaño total.
Solución 6: Revisar si hay problemas con el servidor DNS o la IP de conexión
En ocasiones, el error aparece porque PrestaShop intenta conectarse a un servidor de base de datos remoto (por ejemplo, mysql.tudominio.com) y hay un problema de resolución DNS.
Qué hacer en este caso
- Comprueba si el host de tu base de datos es
localhosto una dirección externa. - Si es una dirección remota, verifica que el dominio o la IP sean correctos.
- Puedes probar a cambiar
database_hosta la IP directa del servidor MySQL en lugar del nombre de dominio.
[INFO] En la mayoría de los hosting compartidos, el host es localhost. Sin embargo, en configuraciones más avanzadas (como servidores VPS o dedicados), puede ser una IP privada o un nombre interno. Si no estás seguro, contacta con tu proveedor.
Solución 7: Restaurar una copia de seguridad reciente
Si ninguna de las soluciones anteriores funciona, es posible que los archivos de configuración estén dañados o que algún cambio reciente haya roto la conexión. Restaurar una copia de seguridad puede ser la salida más rápida.
Pasos para restaurar
- Accede a tu panel de hosting y busca la sección de "Copias de seguridad" o "Backups".
- Localiza una copia de seguridad de tu base de datos y de los archivos de PrestaShop (idealmente de hace unos días, cuando todo funcionaba).
- Restaura primero la base de datos y luego los archivos.
- Si no tienes copias en el hosting, revisa si tienes algún backup local o en servicios como Dropbox, Google Drive, etc.
[WARNING] Restaurar una copia de seguridad puede hacer que pierdas los cambios realizados después de la fecha de la copia (pedidos nuevos, productos, configuraciones). Úsalo como último recurso y, si es posible, exporta primero los datos más recientes.
Solución 8: Contactar con el soporte del hosting
Si has probado todo lo anterior y el prestashop no conecta con la base de datos, es hora de pedir ayuda profesional. El soporte técnico de tu hosting tiene acceso directo a los servidores y puede detectar problemas que tú no puedes ver.
Qué información debes proporcionar
- El mensaje de error exacto que aparece en tu tienda.
- La versión de PrestaShop que estás utilizando.
- La fecha aproximada en la que empezó el problema.
- Los pasos que ya has probado.
- Capturas de pantalla si es posible.
[TIP] Antes de contactar, revisa los registros de error de PrestaShop. En la carpeta var/logs (1.7+) o log (1.6) encontrarás archivos .log con detalles técnicos. Estos archivos son oro puro para el soporte técnico.
Preguntas frecuentes (FAQ) sobre el error de conexión a la base de datos
¿Puedo perder mis datos si borro la caché?
No. La caché solo almacena copias temporales de páginas y configuraciones. Al borrarla, PrestaShop la regenera automáticamente. Tus productos, pedidos y clientes están en la base de datos, no en la caché.
¿Qué hago si no tengo acceso a phpMyAdmin?
Si tu plan de hosting no incluye phpMyAdmin, puedes usar herramientas como Adminer o gestionar la base de datos desde la sección de MySQL de tu panel de control. En Syspanel, por ejemplo, hay una opción de "phpMyAdmin" integrada.
¿Cuánto tiempo se tarda en solucionar este error?
Depende de la causa. Si es un problema de contraseña, puedes solucionarlo en menos de 10 minutos. Si es un fallo del servidor, puede tardar unas horas hasta que el proveedor lo resuelva.
¿Este error significa que mi tienda ha sido hackeada?
No necesariamente. Aunque un ataque puede modificar los archivos de configuración, lo más común es que sea un error administrativo o un fallo del servidor. Sin embargo, si sospechas de un hackeo, revisa los archivos recientemente modificados en la carpeta config.
¿Debo actualizar mi versión de PrestaShop?
Si tu versión es muy antigua (1.6 o anterior), es posible que el error se deba a incompatibilidades con versiones nuevas de PHP o MySQL. Actualizar a la última versión estable de PrestaShop 8 (o al menos 1.7.8) es muy recomendable para evitar este tipo de problemas.
Resumen final y recomendaciones
El error "No se puede conectar con la base de datos" en PrestaShop es un problema serio pero, en la gran mayoría de los casos, tiene solución. Hemos visto que las causas más comunes son:
- Datos de conexión incorrectos en el archivo de configuración.
- Servidor MySQL detenido o sobrecargado.
- Permisos insuficientes del usuario de la base de datos.
- Caché corrupta que guarda datos antiguos.
- Espacio agotado en la base de datos.
- Problemas con el host remoto o DNS.
- Archivos dañados que requieren restaurar una copia.
Nuestra recomendación es que vayas probando las soluciones en el orden presentado, empezando por la más sencilla (verificar los datos de conexión) hasta llegar a las más complejas (restaurar backups o contactar con soporte).
[TIP FINAL] Para evitar este error en el futuro, te aconsejamos:
- Realiza copias de seguridad semanales de tu base de datos y archivos.
- Anota siempre las contraseñas de las bases de datos en un gestor de contraseñas.
- Mantén PrestaShop y sus módulos siempre actualizados.
- Configura alertas en tu hosting para saber si el servidor MySQL se cae.
Con paciencia y siguiendo esta guía paso a paso, tu tienda PrestaShop volverá a estar operativa
