Cómo arreglar el error 'No se puede conectar a la base de datos' en PrestaShop (Plesk)
¿Qué significa exactamente el error "No se puede conectar a la base de datos" en PrestaShop?
Cuando visitas tu tienda online y te encuentras con el mensaje «No se puede conectar a la base de datos», el susto es inevitable. Pero respira hondo: 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 sin necesidad de ser un experto en programación.
Este error, que también puede aparecer como "Error de conexión a la base de datos" o "Link to database cannot be established", indica que PrestaShop no puede comunicarse con el servidor MySQL donde se almacenan tus productos, pedidos, clientes y configuraciones. Es como si tu tienda intentara abrir su almacén y la puerta estuviera bloqueada.
En este artículo te voy a guiar paso a paso para arreglar el error de base de datos en PrestaShop con Plesk, explicándote las causas más frecuentes y cómo resolverlas de forma clara y sin tecnicismos innecesarios. Voy a asumir que tienes acceso a tu panel de control Plesk, que es el más habitual en los hosting compartidos y VPS.
Causas más comunes del error de conexión a la BD en PrestaShop (Plesk)
Antes de lanzarnos a solucionar, es importante entender por qué ocurre este problema. Las razones más típicas son:
-
Cambio de contraseña de la base de datos (la más frecuente). Si has cambiado la clave de MySQL en Plesk y no has actualizado el archivo
parameters.phpde PrestaShop, la tienda no podrá autenticarse. -
El usuario de la base de datos no tiene permisos suficientes sobre la BD. Esto pasa cuando se importa una base de datos nueva o se recrea el usuario.
-
El servidor MySQL está caído o sobrecargado. A veces el problema no es tuyo, sino del servidor.
-
El archivo de configuración está corrupto o mal editado. Si has tocado
parameters.phpoconfig/settings.inc.php(en versiones antiguas) y algo no cuadra, la conexión falla. -
La base de datos ha superado el límite de espacio o está llena.
-
Problemas con la dirección del servidor de BD. En Plesk normalmente es
localhost, pero en algunos VPS puede ser una IP distinta. -
Migración de hosting reciente. Si acabas de mover tu tienda a otro servidor, es muy fácil que las credenciales no coincidan.
Vamos a atacar cada una de estas causas en orden de probabilidad.
Paso 1: Verifica que el servidor MySQL está funcionando en Plesk
Lo primero es descartar que el problema sea del servidor. Accede a tu panel de Plesk y sigue estos pasos:
-
Inicia sesión en Plesk (normalmente en
https://tudominio.com:8443o la URL que te haya dado tu proveedor). -
En el menú lateral, busca "Herramientas y utilidades" o "Configuración del servidor".
-
Localiza la sección de "Servicios" o "Gestión de servicios". Verás una lista con los servicios del sistema.
-
Busca MySQL o MariaDB (el motor de base de datos). Comprueba que el estado sea "en ejecución" o "activo".
-
Si aparece como detenido, haz clic en el botón de iniciar o reiniciar.
[WARNING] Si el servicio no arranca o se detiene solo, contacta con tu proveedor de hosting. Puede ser un problema de recursos o de configuración del servidor que no puedes resolver desde Plesk.
Una vez confirmado que MySQL está activo, prueba a acceder de nuevo a tu tienda. Si el error persiste, continúa con el siguiente paso.
Paso 2: Comprueba las credenciales en el archivo de configuración de PrestaShop
Este es el paso clave en el 90% de los casos. PrestaShop guarda los datos de conexión a la base de datos en un archivo llamado parameters.php, que se encuentra en la carpeta app/config/ de tu instalación.
Cómo localizar y editar el archivo
-
Accede al Administrador de archivos de Plesk. Lo encuentras en la sección "Sitios web y dominios", haciendo clic en tu dominio y luego en "Administrador de archivos".
-
Navega hasta la carpeta
httpdocs(opublic_html). Dentro, busca la subcarpetaapp, luegoconfigy finalmente abre el archivoparameters.php. -
Ábrelo con el editor de texto de Plesk (clic derecho → "Editar"). Verás un contenido similar a este:
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
-
Anota estos valores y compáralos con los que tienes en Plesk. Ahora ve a la sección de "Bases de datos" en Plesk.
-
En Plesk, dentro de tu dominio, haz clic en "Bases de datos". Verás la lista de BD. Haz clic en el nombre de la base de datos que usa tu PrestaShop.
-
Ahí verás el nombre de la base de datos, el usuario asociado y podrás cambiar la contraseña o ver los permisos.
Qué hacer si las credenciales no coinciden
-
Si el nombre de la BD o el usuario han cambiado (por ejemplo, tras una migración), edita
parameters.phpy pon los valores correctos. -
Si la contraseña no es la correcta, la solución más rápida es cambiarla desde Plesk:
-
En la página de la base de datos, busca la opción "Cambiar contraseña" o "Usuarios de la base de datos".
-
Establece una contraseña nueva y guárdala.
-
Ahora edita
parameters.phpy escribe esa misma contraseña en el campo'database_password'. -
Guarda los cambios del archivo.
[TIP] Cuando edites
parameters.php, asegúrate de no borrar las comillas simples ni las comas. Un solo carácter mal puesto rompe toda la configuración. Si tienes dudas, haz una copia de seguridad del archivo antes de modificarlo.
Después de actualizar las credenciales, guarda y prueba tu tienda. Este paso resuelve la mayoría de los casos de error base de datos prestashop plesk.
Paso 3: Verifica los permisos del usuario de la base de datos
Si las credenciales son correctas pero el error persiste, es probable que el usuario no tenga permisos completos sobre la base de datos. Esto ocurre mucho cuando se crea un usuario nuevo o se importa una BD desde otro servidor.
Cómo comprobar y otorgar permisos en Plesk
-
En la sección "Bases de datos" de tu dominio, haz clic en tu base de datos.
-
Busca la pestaña "Usuarios" o "Permisos".
-
Verás una lista de usuarios asociados. Asegúrate de que el usuario que usa PrestaShop tiene marcadas todas las casillas de permisos, especialmente:
- SELECT, INSERT, UPDATE, DELETE (permisos básicos de datos)
- CREATE, ALTER, DROP (permisos de estructura)
- INDEX, REFERENCES
- LOCK TABLES, EXECUTE
-
Si ves que faltan permisos, márcalos todos y guarda.
-
Si el usuario no aparece, puedes crearlo o reasignarlo desde "Añadir usuario".
[INFO] En Plesk, cuando creas una base de datos, normalmente se crea un usuario con el mismo prefijo. Si has importado una BD externa, asegúrate de que el usuario que pones en PrestaShop es el que aparece en Plesk, no uno que hayas inventado.
Paso 4: Comprueba la dirección del servidor de base de datos
Aunque parezca obvio, el valor 'database_host' a veces es el culpable. En la mayoría de los hosting compartidos con Plesk, este valor es localhost. Pero en algunos VPS o servidores dedicados, puede ser una dirección IP como 127.0.0.1 o incluso un nombre de host interno.
Cómo saber cuál es el host correcto
-
En Plesk, ve a "Bases de datos" y haz clic en tu BD.
-
Busca la sección de "Información de conexión" o "Acceso remoto". Ahí suele aparecer la dirección del servidor MySQL.
-
Si ves algo como
localhosto127.0.0.1, déjalo así enparameters.php. -
Si aparece una dirección tipo
mysql.tudominio.com, esa es la que debes poner en'database_host'.
[WARNING] No confundas la dirección del servidor con la URL de tu tienda. El host de BD es interno y no tiene nada que ver con tu dominio público.
Paso 5: Revisa el espacio en disco y el tamaño de la base de datos
A veces el error aparece porque la base de datos ha alcanzado su límite de almacenamiento. Esto es más común de lo que parece, sobre todo si tienes muchos pedidos, logs o cachés acumuladas.
Cómo comprobar el tamaño en Plesk
-
Ve a "Bases de datos" en tu dominio.
-
Junto al nombre de la BD, verás el tamaño actual.
-
Si está cerca del límite de tu plan (por ejemplo, 1GB en hosting compartido), necesitas limpiar la BD o ampliar el plan.
Soluciones rápidas para liberar espacio
-
Vacía las tablas de logs de PrestaShop, como
ps_logops_connections. Puedes hacerlo desde phpMyAdmin (disponible en Plesk) con una consulta SQL comoTRUNCATE TABLE ps_log;. -
Elimina pedidos antiguos o facturas que ya no necesites (si tu tienda lo permite).
-
Activa la limpieza automática de logs en la configuración de PrestaShop (Parámetros avanzados → Rendimiento).
[TIP] Si no sabes usar phpMyAdmin, pide ayuda a tu proveedor. Es una herramienta muy útil pero requiere algo de cuidado para no borrar datos importantes.
Paso 6: Comprueba si hay un problema con la caché o archivos corruptos
Otra causa del error prestashop no conecta bd plesk puede ser un archivo de configuración corrupto o una caché que apunta a datos antiguos.
Solución rápida: regenar la caché
-
Accede a tu servidor por FTP o al Administrador de archivos de Plesk.
-
Navega hasta la carpeta
var/cache(ocacheen versiones antiguas). -
Borra todo el contenido de esa carpeta (los archivos y subcarpetas). No borres la carpeta en sí, solo su interior.
-
Si PrestaShop sigue fallando, borra también el archivo
parameters.phpy su backupparameters.bak(si existe). No te preocupes, PrestaShop lo regenerará automáticamente, pero tendrás que volver a introducir las credenciales.
[WARNING] Al borrar
parameters.php, PrestaShop te pedirá que reconfigures la tienda. Asegúrate de tener a mano las credenciales de la BD, que ya has verificado en el Paso 2.
Paso 7: Verifica que no haya un plugin o módulo conflictivo
Aunque es menos común, un módulo mal configurado puede intentar conectarse a una base de datos diferente o bloquear la conexión principal. Esto pasa sobre todo después de instalar un módulo nuevo o actualizar uno existente.
Cómo probar si es un módulo
-
Accede al back office de PrestaShop (si es que puedes). Si no puedes, pasa al siguiente paso.
-
Ve a Módulos → Módulos y servicios.
-
Desactiva los módulos recientemente instalados o actualizados.
-
Prueba tu tienda de nuevo.
Si el error desaparece, el problema es ese módulo. Contacta con el desarrollador o busca una alternativa.
Si no puedes acceder al back office, puedes desactivar módulos temporalmente editando la base de datos: en la tabla ps_module, pon el campo active a 0 para los módulos sospechosos. Pero esto es avanzado; mejor prueba primero con los pasos anteriores.
Paso 8: Revisa los logs de error del servidor
Si nada de lo anterior funciona, necesitas más información. Los logs de error te dirán exactamente qué está fallando.
Dónde ver los logs en Plesk
-
En Plesk, ve a "Sitios web y dominios" y haz clic en tu dominio.
-
Busca "Registros" o "Logs" en el menú.
-
Abre el log de errores de PHP o el log de MySQL.
-
Busca líneas que contengan
SQLSTATE,Connection refused,Access deniedo similar.
Ejemplos de mensajes que puedes encontrar:
SQLSTATE[HY000] [1045] Access denied for user 'usuario'@'localhost'→ La contraseña o el usuario son incorrectos.SQLSTATE[HY000] [2002] Connection refused→ El servidor MySQL no está accesible o el host es incorrecto.SQLSTATE[HY000] [1049] Unknown database→ El nombre de la BD es incorrecto.
Con estos mensajes, sabrás exactamente qué corregir.
Solución avanzada: Restaurar la conexión desde una copia de seguridad
Si has probado todo y el error persiste, puede que el archivo parameters.php esté muy dañado. La solución más limpia es restaurar una copia de seguridad reciente de la configuración.
Cómo hacerlo
-
En Plesk, ve a "Administrador de archivos" y navega hasta
app/config/. -
Busca si existe un archivo llamado
parameters.bak. Si existe, renómbralo aparameters.php(antes haz una copia del actual). -
Prueba tu tienda.
-
Si no hay backup, crea un archivo
parameters.phpnuevo con esta estructura básica:
<?php
return array(
'parameters' => array(
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'TU_BD',
'database_user' => 'TU_USUARIO',
'database_password' => 'TU_PASSWORD',
'database_prefix' => 'ps_',
'database_engine' => 'InnoDB',
'cookie_key' => 'genera_una_clave_aleatoria',
'cookie_iv' => 'genera_otra_clave',
'new_cookie_key' => 'genera_otra_mas',
),
);
[INFO] Para generar las claves
cookie_keyycookie_iv, puedes usar cualquier generador de cadenas aleatorias de Internet. No son críticas para la conexión, pero PrestaShop las necesita para funcionar.
Preguntas frecuentes (FAQ) sobre el error de conexión a la BD en PrestaShop con Plesk
¿Por qué me aparece este error después de cambiar la contraseña en Plesk?
Porque PrestaShop sigue usando la contraseña antigua almacenada en parameters.php. Debes actualizar ese archivo con la nueva contraseña, tal como expliqué en el Paso 2.
¿Puedo evitar este error en el futuro?
Sí, siguiendo estos consejos:
- Anota siempre las credenciales de tu BD en un lugar seguro.
- Antes de cambiar contraseñas en Plesk, actualiza primero
parameters.phpo viceversa. - Haz copias de seguridad periódicas de tu tienda y de la base de datos.
- No edites archivos de configuración sin tener un plan claro.
¿Qué hago si el error aparece en el back office y no puedo entrar?
Si no puedes acceder a tu-dominio.com/admin, el problema es el mismo. Aplica los pasos anteriores desde el Administrador de archivos de Plesk. No necesitas el back office para editar parameters.php.
¿El error puede deberse a un ataque o hackeo?
En raras ocasiones, sí. Si el archivo parameters.php ha sido modificado con credenciales falsas, es posible que alguien haya intentado tomar control de tu tienda. Re
