Cómo solucionar problemas de conexión a la base de datos de PrestaShop en Plesk
¿Tu tienda PrestaShop muestra el temido error de conexión a la base de datos? No te preocupes, es uno de los problemas más comunes al gestionar una tienda online en un servidor Plesk, y en la gran mayoría de casos tiene solución en pocos minutos si sigues los pasos adecuados.
Este error suele aparecer de repente, a veces tras una actualización, un cambio de contraseña, o incluso sin motivo aparente. Verás mensajes como "Error de conexión a la base de datos" o "Link to database cannot be established".
En esta guía extensa y práctica, vamos a desglosar todas las causas posibles y te enseñaremos a solucionar la conexión base datos PrestaShop en un entorno Plesk, paso a paso y sin necesidad de ser un experto en servidores.
Vamos a ello.
Primeros pasos: identifica el tipo de error exacto
Antes de tocar nada, es fundamental saber qué está fallando. No es lo mismo un error de autenticación (contraseña incorrecta) que un error de servidor (MySQL caído).
Accede a tu panel de administración de Plesk (normalmente en https://tu-dominio.com:8443).
Dentro de Plesk, ve a la sección de tu dominio y busca el icono de "Base de datos" o "Bases de datos MySQL". Aquí podrás ver si la base de datos de tu tienda existe y su estado.
[TIP]: Si no recuerdas la contraseña de la base de datos, no la adivines. En Plesk, puedes cambiarla fácilmente desde el mismo panel, pero ten en cuenta que deberás actualizar el archivo de configuración de PrestaShop después.
Causa #1: El servidor MySQL/MariaDB está caído o no responde
Esta es la causa más básica pero también la más común. Si el servicio de base de datos se ha detenido (por falta de memoria, un fallo del sistema o un reinicio del servidor), tu tienda no podrá conectarse.
Cómo solucionarlo en Plesk
- Inicia sesión en Plesk como administrador o con una cuenta que tenga acceso a las herramientas del servidor.
- En el menú lateral izquierdo, busca la sección "Herramientas y ajustes".
- Dentro de esta sección, busca el apartado de "Servicios" o "Gestión de servicios".
- Localiza el servicio "MySQL" o "MariaDB" (depende de cuál tengas instalado).
- Verás su estado. Si está en rojo o como "detenido", haz clic en el botón de "Iniciar" o "Encender".
[WARNING]: Si el servicio se inicia pero se detiene de nuevo a los pocos segundos, el problema es más grave. Suele deberse a un fallo de configuración o a un problema de corrupción en las tablas. En ese caso, contacta con tu proveedor de hosting, ya que puede necesitarse intervención a nivel de servidor.
Causa #2: Credenciales incorrectas en el archivo de configuración de PrestaShop
PrestaShop guarda los datos de acceso a la base de datos en un archivo llamado parameters.php. Si este archivo tiene una contraseña antigua, un nombre de base de datos incorrecto o un usuario equivocado, la conexión base datos PrestaShop fallará.
Este archivo se encuentra en la carpeta app/config/ de tu instalación de PrestaShop.
Cómo solucionarlo: Verificar y actualizar los datos
- Accede a tu panel de control de archivos en Plesk (Administrador de archivos) o conéctate por FTP.
- Navega hasta
tu_dominio/httpdocs/app/config/. - Busca el archivo
parameters.php. - Ábrelo con el editor de texto (clic derecho -> Editar).
- Busca la sección
database_host,database_name,database_userydatabase_password.
El contenido debería ser similar a este (aunque con tus datos):
'database_host' => 'localhost',
'database_name' => 'tu_usuario_prestashop',
'database_user' => 'tu_usuario_bd',
'database_password' => 'tu_contraseña_bd',
'database_prefix' => 'ps_',
- Crucial: Compara estos valores con los que tienes en Plesk. Ve a la sección "Bases de datos" de tu dominio en Plesk. Ahí verás el nombre exacto de la BD y el usuario asociado.
- Si la contraseña no coincide, tienes dos opciones:
- Cambiar la contraseña en Plesk a una nueva y poner esa misma en el
parameters.php. - Cambiar la contraseña directamente en el
parameters.phppor la que ya tienes en Plesk.
- Cambiar la contraseña en Plesk a una nueva y poner esa misma en el
[INFO]: El database_host normalmente es localhost, pero en algunos servidores compartidos puede ser un host remoto como mysql.tudominio.com. Si no estás seguro, usa localhost y si falla, consulta con tu proveedor.
Causa #3: El usuario de la base de datos no tiene permisos suficientes
A veces la conexión es correcta, pero el usuario de la base de datos no tiene permisos para leer, escribir o modificar las tablas. Esto es especialmente común después de restaurar una copia de seguridad o migrar la tienda.
Cómo solucionarlo: Asignar todos los privilegios en Plesk
- Ve a tu dominio en Plesk y entra en la sección "Bases de datos".
- Haz clic en el nombre de la base de datos de tu PrestaShop.
- Busca la pestaña o sección de "Usuarios".
- Verás una lista de usuarios asociados a esa base de datos. Asegúrate de que el usuario que usa PrestaShop está en la lista.
- Haz clic en el icono de editar (normalmente un lápiz) junto al usuario.
- Marca la casilla de "Todos los privilegios" o, si es manual, asegúrate de que al menos estén marcados: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP.
[TIP]: La opción más segura y sencilla es dar "Todos los privilegios" a ese usuario para evitar problemas futuros con módulos que necesiten crear tablas temporales.
Causa #4: El archivo parameters.php está dañado o es ilegible
Si el archivo se ha corrompido, tiene caracteres extraños o está vacío, PrestaShop no podrá leer los datos de conexión. Esto puede pasar por una edición incorrecta o por un fallo al subir archivos por FTP.
Cómo solucionarlo: Restaurar el archivo desde una copia de seguridad
- Si tienes una copia de seguridad reciente de tu tienda (en Plesk o descargada), localiza el archivo
parameters.phporiginal. - Reemplaza el archivo dañado en el servidor por el de la copia de seguridad.
- Si no tienes copia, puedes intentar crear uno nuevo. Un archivo
parameters.phpbásico de PrestaShop 1.7+ se ve así:
<?php
return [
'parameters' => [
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'TU_NOMBRE_BD',
'database_user' => 'TU_USUARIO_BD',
'database_password' => 'TU_CONTRASEÑA_BD',
'database_prefix' => 'ps_',
'database_engine' => 'InnoDB',
'cookie_key' => 'GENERA_UNA_CLAVE_ALEATORIA',
'cookie_iv' => 'GENERA_OTRA_CLAVE',
'new_cookie_key' => 'GENERA_UNA_TERCERA_CLAVE',
'secret' => 'GENERA_UNA_CUARTA_CLAVE',
'password_algorithm' => 'PASSWORD_BCRYPT',
// ... otros parámetros
],
];
[WARNING]: Este método es avanzado. Si no generas las claves correctamente, la tienda puede fallar al iniciar sesión en el panel de administración. Te recomendamos encarecidamente restaurar una copia de seguridad antes de intentar esto.
Causa #5: Problemas con la caché de PrestaShop
A veces, PrestaShop guarda en su caché información de conexión antigua. Aunque hayas corregido el parameters.php, la tienda sigue intentando conectarse con los datos antiguos.
Cómo solucionarlo: Limpiar la caché manualmente
- Conéctate por FTP o usa el Administrador de archivos de Plesk.
- Navega a la carpeta
var/cache/en la raíz de tu PrestaShop (en versiones 1.7) ocache/(en versiones 1.6). - Borra todo el contenido de la carpeta
cache(tanto la carpetadevcomoproden 1.7). No borres la carpeta en sí, solo su interior. - También puedes borrar la carpeta
var/logs/si existe, para eliminar registros de errores antiguos.
Causa #6: Conflictos con la versión de PHP
PrestaShop es sensible a la versión de PHP. Si has actualizado la versión de PHP en Plesk (por ejemplo, de 7.4 a 8.1) y tu versión de PrestaShop es antigua, es posible que los controladores de la base de datos (PDO o MySQLi) no funcionen correctamente.
Cómo solucionarlo: Cambiar la versión de PHP en Plesk
- En Plesk, ve a tu dominio y busca la sección "Configuración de PHP".
- Aquí puedes cambiar la versión de PHP.
- Prueba con una versión anterior. Por ejemplo, si estabas en 8.0 y falla, vuelve a 7.4.
- Haz clic en "Aplicar" y prueba de nuevo tu tienda.
[TIP]: PrestaShop 1.7.8 y superiores son compatibles con PHP 8.0. Las versiones 1.7.0 a 1.7.7 funcionan mejor con PHP 7.4. Si usas PrestaShop 1.6, necesitas PHP 5.6 o 7.0 como máximo.
Causa #7: El dominio apunta a un servidor de base de datos remoto incorrecto
En entornos Plesk más complejos o en migraciones, a veces el archivo parameters.php apunta a un host de base de datos que ya no existe (por ejemplo, mysql.oldserver.com).
Cómo solucionarlo: Verificar el host de la base de datos
- Revisa en Plesk la sección de "Bases de datos" de tu dominio.
- Plesk te mostrará el "Nombre del host" del servidor de bases de datos. Normalmente es
localhost. - Si tu proveedor usa un servidor de BD separado, te lo habrá indicado. Asegúrate de que el
database_hostenparameters.phpcoincide exactamente con ese valor.
Preguntas Frecuentes (FAQ) sobre el error BD PrestaShop Plesk
P: ¿Por qué me pide la contraseña de la base de datos al actualizar PrestaShop?
R: Es normal. El proceso de actualización necesita verificar los permisos. Debes introducir la contraseña que está en el parameters.php o la que tienes en Plesk. Si no la sabes, cámbiala en Plesk y luego actualiza el parameters.php.
P: He cambiado la contraseña de la BD en Plesk y ahora la tienda falla. ¿Qué hago?
R: Es el error clásico. Al cambiar la contraseña en Plesk, el archivo parameters.php de PrestaShop no se actualiza automáticamente. Debes editar ese archivo manualmente (como se explica en la Causa #2) y poner la nueva contraseña.
P: El error dice "Connection to server closed by remote host". ¿Qué significa?
R: Esto suele indicar que el servidor MySQL ha rechazado la conexión porque el usuario no tiene permisos para conectarse desde esa IP o porque el servicio está configurado para aceptar solo conexiones locales. Verifica los permisos del usuario en Plesk (Causa #3) y que el database_host sea localhost.
P: ¿Puedo usar el mismo usuario de base de datos para dos tiendas PrestaShop diferentes?
R: Técnicamente sí, pero no es recomendable. Puede causar conflictos de permisos y es más difícil de gestionar. Es mejor crear un usuario y una base de datos por tienda.
P: Mi tienda funciona pero el panel de administración da error de conexión.
R: El problema suele estar en la caché o en una sesión corrupta. Limpia la caché (Causa #5) y borra las cookies de tu navegador. Si persiste, revisa los permisos del archivo parameters.php (debe ser legible, normalmente con permisos 644).
Conclusión: Resumen de la solución para el error BD PrestaShop Plesk
Para solucionar conexión MySQL PrestaShop en Plesk, sigue este orden lógico de comprobación:
- Comprueba que MySQL está activo en los servicios de Plesk.
- Verifica los datos en
app/config/parameters.phpcontra los de Plesk. - Asegura los permisos del usuario de la base de datos en Plesk.
- Limpia la caché de PrestaShop (
var/cacheocache). - Revisa la versión de PHP en Plesk y prueba con una compatible.
Siguiendo estos pasos, resolverás el 95% de los problemas de conexión a la base de datos de tu tienda. No te frustres, es un proceso de prueba y error, pero con esta guía tienes todas las herramientas para hacerlo tú mismo.
Si después de todo esto el problema persiste, te recomendamos contactar con tu proveedor de hosting y proporcionarles el mensaje de error exacto que aparece en tu tienda. Ellos podrán revisar los logs del servidor a un nivel más profundo.
[INFO]: En algunos entornos de hosting gestionado, si usas un panel alternativo como Syspanel (que recuerda a HestiaCP y se accede por el puerto 2106), la estructura de carpetas y la gestión de bases de datos es similar, pero la interfaz cambia. Busca siempre la sección "Bases de datos" dentro del dominio correspondiente.
Esperamos que esta guía te haya sido de gran ayuda. ¡Tu tienda volverá a estar operativa en nada!
