Cómo solucionar el error 'Cannot connect to database' en PrestaShop (Plesk)
¿Qué significa exactamente el error "Cannot connect to database"?
Cuando tu tienda PrestaShop muestra el mensaje "Cannot connect to database" (o "No se puede conectar a la base de datos"), significa que el archivo de configuración de PrestaShop no puede establecer comunicación con el servidor MySQL donde se almacenan tus productos, pedidos y clientes.
Este error es crítico porque bloquea el acceso tanto a la tienda pública como al panel de administración. Sin conexión a la base de datos, PrestaShop es como un coche sin motor: todo lo demás está, pero no funciona.
Lo primero que debes saber es que no estás solo. Es uno de los errores más comunes en PrestaShop, y en la mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo en Plesk sin necesidad de contactar con soporte técnico.
A lo largo de esta guía, vamos a desglosar las causas más frecuentes y te mostraré paso a paso cómo resolver el error conexión PrestaShop, incluso si nunca has tocado un servidor antes.
Antes de empezar: prepara tu entorno de trabajo
Para solucionar este problema, necesitarás acceder a dos herramientas:
- Plesk (el panel de control de tu hosting).
- Un editor de texto plano como el Bloc de notas de Windows o TextEdit en Mac. No uses Word ni programas con formato.
También es recomendable que tengas a mano las credenciales de acceso a tu hosting y a la base de datos. Si no las recuerdas, no te preocupes: te enseñaré a encontrarlas dentro de Plesk.
[INFO] Antes de modificar nada, te recomiendo hacer una copia de seguridad de tu tienda. En Plesk, ve a la sección "Copias de seguridad" y crea una copia completa. Así, si algo sale mal, podrás restaurar todo en minutos.
Causa 1: Credenciales incorrectas en el archivo parameters.php
La causa más común del error PrestaShop cannot connect database es que las credenciales de acceso a la base de datos almacenadas en el archivo de configuración no coinciden con las reales.
¿Cómo localizar el archivo de configuración?
PrestaShop guarda la configuración de conexión en el archivo parameters.php, que se encuentra en la carpeta app/config/ de tu instalación.
Para acceder a él desde Plesk:
- Inicia sesión en tu panel de Plesk.
- Ve a "Sitios web y dominios".
- Localiza tu dominio y haz clic en "Archivos" (o "Administrador de archivos").
- Navega hasta
httpdocs/app/config/(opublic_html/app/config/si esa es tu estructura). - Busca el archivo
parameters.phpy haz clic derecho para editarlo.
¿Qué datos deben ser correctos?
Dentro del archivo, busca la sección que dice 'database_host', 'database_name', 'database_user' y 'database_password'. Los valores deben coincidir exactamente con los datos reales de tu base de datos MySQL.
Para verificar los datos reales:
- Vuelve a Plesk y busca la sección "Bases de datos" (normalmente en el panel principal).
- Localiza la base de datos asociada a tu PrestaShop.
- Haz clic en "Administrar" (o "phpMyAdmin") para verificar que la base existe y tiene contenido.
- En la misma sección, verás el nombre de la base de datos y el usuario asociado.
[WARNING] El nombre de la base de datos y el usuario suelen tener un prefijo con el nombre de tu cuenta de hosting. Por ejemplo:
usuario123_prestashop. Asegúrate de copiar el nombre completo, tal cual aparece en Plesk.
¿Cómo corregir los datos?
Si los datos del archivo parameters.php no coinciden, edítalos con los valores correctos. Presta mucha atención a la contraseña: a veces se cambia desde Plesk y el archivo queda desactualizado.
Después de guardar los cambios, intenta acceder a tu tienda. Si el error persiste, pasa a la siguiente causa.
Causa 2: El servidor MySQL está caído o sobrecargado
Otra posibilidad es que el servidor MySQL de tu hosting esté experimentando problemas temporales. Esto puede deberse a:
- Mantenimiento programado por parte de tu proveedor.
- Saturación de conexiones por tráfico excesivo.
- Un reinicio inesperado del servidor.
¿Cómo comprobarlo en Plesk?
- Ve a "Sitios web y dominios".
- Busca la sección "Bases de datos" y haz clic en "Administrar".
- Si phpMyAdmin se abre correctamente y ves tus tablas, significa que MySQL está funcionando.
- Si no puedes abrir phpMyAdmin o ves un mensaje de error, el problema está en el servidor.
[TIP] También puedes probar a reiniciar el servicio MySQL desde Plesk. En algunos paneles, esta opción está en "Herramientas y ajustes" > "Servicios" > "MySQL". Si no encuentras esta opción, contacta con tu proveedor de hosting.
Si el servidor MySQL está caído, la solución es esperar a que se restablezca o contactar con tu proveedor. Normalmente, estos problemas se resuelven en pocos minutos.
Causa 3: Archivos de caché corruptos
PrestaShop utiliza archivos de caché para acelerar la carga de la tienda. A veces, estos archivos se corrompen y provocan errores extraños, incluido el error de conexión a la base de datos.
¿Cómo limpiar la caché manualmente?
Puedes limpiar la caché de PrestaShop de dos formas:
Opción A: Desde el panel de administración (si puedes acceder)
- Ve a "Parámetros avanzados" > "Rendimiento".
- Haz clic en "Vaciar la caché" (o "Limpiar la caché").
- Espera unos segundos y vuelve a intentar acceder a tu tienda.
Opción B: Desde el servidor (si no puedes acceder al panel)
- Accede al Administrador de archivos de Plesk.
- Navega hasta
httpdocs/var/cache/(en PrestaShop 1.7 y versiones posteriores). - Elimina el contenido de la carpeta
cache(todos los archivos y subcarpetas, pero no la carpeta en sí). - También puedes eliminar el contenido de
httpdocs/var/logs/para limpiar los registros de errores.
[INFO] Si tu PrestaShop es una versión anterior a la 1.7, la ruta de la caché puede ser
httpdocs/cache/ohttpdocs/tools/smarty/cache/. Busca carpetas con nombres similares si no encuentras la ruta exacta.
Después de limpiar la caché, intenta acceder a tu tienda. Este método resuelve muchos casos del error PrestaShop cannot connect database, especialmente si el error apareció después de una actualización o instalación de un módulo.
Causa 4: El archivo settings.inc.php tiene datos antiguos
En versiones más antiguas de PrestaShop (1.6 y anteriores), la configuración de la base de datos se guarda en un archivo llamado settings.inc.php, ubicado en httpdocs/config/.
Si tu tienda usa una versión antigua, debes revisar este archivo además del parameters.php.
¿Cómo editarlo?
- Ve al Administrador de archivos de Plesk.
- Navega hasta
httpdocs/config/. - Busca
settings.inc.phpy ábrelo con el editor. - Busca las líneas que definen
_DB_SERVER_,_DB_NAME_,_DB_USER_y_DB_PASSWD_. - Verifica que coincidan con los datos reales de tu base de datos.
[WARNING] En PrestaShop 1.7 y versiones posteriores, el archivo
settings.inc.phpya no se usa. Si tienes una versión reciente, concéntrate enparameters.php.
Causa 5: Problemas con el prefijo de las tablas
PrestaShop permite configurar un prefijo para las tablas de la base de datos (por ejemplo, ps_). Si este prefijo no coincide entre el archivo de configuración y la base de datos real, se produce el error de conexión.
¿Cómo verificarlo?
- Accede a phpMyAdmin desde Plesk.
- Selecciona tu base de datos.
- Observa el nombre de las tablas. Todas deberían empezar con el mismo prefijo (por ejemplo,
ps_orders,ps_products, etc.). - Vuelve al archivo
parameters.phpy busca el parámetro'database_prefix'. - Asegúrate de que el prefijo coincida exactamente.
[TIP] Si no recuerdas qué prefijo usaste al instalar, es muy probable que sea
ps_(el prefijo por defecto). Los cambios de prefijo son poco comunes, así que esta causa es menos frecuente, pero no imposible.
Causa 6: Permisos incorrectos en los archivos
A veces, los archivos de configuración tienen permisos demasiado restrictivos que impiden que PrestaShop los lea correctamente.
¿Cómo ajustar los permisos en Plesk?
- Abre el Administrador de archivos.
- Navega hasta
httpdocs/app/config/. - Selecciona el archivo
parameters.php. - Haz clic en "Permisos" (o "Propiedades").
- Asegúrate de que los permisos estén establecidos en
644(lectura y escritura para el propietario, lectura para el grupo y el resto). - Aplica los cambios y prueba de nuevo.
[INFO] Los permisos
644son los estándar para archivos de configuración. Si ves600o400, es muy probable que ese sea el problema.
Causa 7: El puerto de conexión a MySQL es incorrecto
En la mayoría de los servidores compartidos, MySQL escucha en el puerto 3306 (el puerto por defecto). Sin embargo, algunos proveedores de hosting utilizan puertos alternativos por seguridad.
¿Cómo verificarlo?
- En Plesk, ve a la sección "Bases de datos".
- Busca la información de conexión de tu base de datos.
- A veces, Plesk muestra el puerto junto a la dirección del servidor (por ejemplo,
localhost:3307). - Compara esta información con el parámetro
'database_port'enparameters.php.
Si el puerto no coincide, edítalo con el valor correcto y guarda los cambios.
Causa 8: El usuario de la base de datos no tiene permisos suficientes
Aunque las credenciales sean correctas, el usuario de la base de datos puede no tener los permisos necesarios para acceder a las tablas.
¿Cómo otorgar permisos en Plesk?
- Ve a "Bases de datos" en Plesk.
- Selecciona tu base de datos.
- Haz clic en "Usuarios" (o "Administrar usuarios").
- Verifica que el usuario asociado tiene privilegios completos (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, etc.).
- Si no tiene todos los permisos, edítalo y marca "Todos los privilegios".
[WARNING] Asegúrate de no revocar permisos de otros usuarios que puedan estar usando la misma base de datos. Si tienes dudas, consulta con tu proveedor.
Solución avanzada: restaurar la configuración desde una copia de seguridad
Si has probado todas las causas anteriores y el error PrestaShop cannot connect database persiste, es posible que el archivo de configuración esté dañado de forma irreparable.
En ese caso, la solución más rápida es restaurar el archivo desde una copia de seguridad reciente.
¿Cómo hacerlo en Plesk?
- Ve a "Copias de seguridad" en Plesk.
- Busca la copia más reciente de tu sitio.
- Descarga la copia a tu ordenador.
- Extrae el archivo
parameters.phpde la copia. - Reemplaza el archivo actual en
httpdocs/app/config/con el de la copia.
[TIP] Si no tienes una copia de seguridad, siempre puedes crear un nuevo archivo
parameters.phpdesde cero. Necesitarás los datos de conexión de tu base de datos (nombre, usuario, contraseña, servidor y puerto). Puedes obtener todos estos datos desde Plesk.
Preguntas frecuentes (FAQ)
¿Puedo perder mis datos si intento solucionar este error?
No. Este error no borra ni modifica los datos de tu base de datos. Solo afecta a la conexión entre PrestaShop y MySQL. Tus productos, pedidos y clientes siguen intactos.
¿Cuánto tiempo tarda en resolverse este problema?
Depende de la causa. Si es un problema de credenciales, lo resuelves en 10 minutos. Si es un problema del servidor, puede tardar más, pero normalmente los proveedores lo solucionan en menos de una hora.
¿Puedo evitar que este error vuelva a ocurrir?
Sí. Te recomiendo:
- Mantener PrestaShop actualizado a la última versión.
- No cambiar las contraseñas de la base de datos sin actualizar también el archivo de configuración.
- Realizar copias de seguridad periódicas (al menos semanales).
- Revisar los logs de errores de PrestaShop mensualmente para detectar problemas antes de que se conviertan en errores críticos.
¿Qué hago si ninguna de estas soluciones funciona?
Si has seguido todos los pasos y el error persiste, es hora de contactar con tu proveedor de hosting. Explícales el error y lo que has hecho. Ellos podrán revisar el servidor a nivel interno y detectar problemas que no son visibles desde Plesk.
Resumen final
El error "Cannot connect to database" en PrestaShop puede parecer aterrador, pero en la mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo.
Recuerda el orden lógico de comprobación:
- Verifica las credenciales en
parameters.php. - Comprueba que MySQL está activo en Plesk.
- Limpia la caché de PrestaShop.
- Revisa los permisos de los archivos.
- Verifica el puerto y el prefijo de la base de datos.
- Comprueba los permisos del usuario de la base de datos.
- Restaura desde una copia de seguridad si nada funciona.
Con paciencia y siguiendo estos pasos, tu tienda volverá a estar operativa en poco tiempo. Y recuerda: si te sientes abrumado, siempre puedes pedir ayuda a tu proveedor de hosting o a un profesional especializado en PrestaShop.
[INFO] Si estás buscando una alternativa de gestión de hosting más sencilla, algunos usuarios optan por paneles como Syspanel (accesible a través del puerto 2106) que simplifican la gestión de bases de datos y archivos. Sin embargo, los pasos que has aprendido aquí son válidos para cualquier panel de control, incluyendo Plesk.
Espero que esta guía te haya sido de ayuda. Si tienes alguna duda adicional, deja un comentario y estaré encantado de ayudarte. ¡Buena suerte con tu tienda!
