Solucionar problemas de conexión a base de datos en PrestaShop con Plesk
¿Te has encontrado con el temido error base datos PrestaShop y no sabes por dónde empezar? Es una situación frustrante, sobre todo cuando tu tienda online deja de funcionar y solo ves una pantalla en blanco o un mensaje de error crítico. No te preocupes, es uno de los problemas más comunes y, por suerte, casi siempre tiene solución.
En esta guía extensa y muy detallada, vamos a recorrer paso a paso cómo solucionar los problemas de conexión a la base de datos de tu PrestaShop cuando está alojado en un servidor con Plesk. Hablaremos de las causas más frecuentes, cómo diagnosticarlas y, lo más importante, cómo aplicar la Plesk solución adecuada para que tu conexión MySQL vuelva a funcionar a la perfección.
¿Por qué aparece el error de conexión a la base de datos en PrestaShop?
Antes de lanzarnos a arreglar nada, es fundamental entender qué significa este error. Cuando tu tienda PrestaShop intenta cargarse, necesita comunicarse con una base de datos MySQL (o MariaDB) donde guarda toda la información: productos, clientes, pedidos, configuraciones... Si esa comunicación falla, la tienda se cae.
Las causas más habituales son:
- Credenciales incorrectas: El archivo de configuración de PrestaShop (
app/config/parameters.php) tiene usuario, contraseña, nombre de base de datos y servidor incorrectos o desactualizados. - Servidor MySQL caído o sobrecargado: El servicio de bases de datos no está funcionando en tu servidor Plesk.
- Problemas de permisos: El usuario de la base de datos no tiene permisos suficientes para acceder a ella desde la aplicación web.
- Nombre del servidor de base de datos incorrecto: A veces, el servidor no es
localhost, sino una dirección IP o un nombre de host específico. - Corrupción de la base de datos: Aunque menos común, puede ocurrir que alguna tabla esté dañada.
- Cambios recientes: Si acabas de migrar tu tienda, cambiar la contraseña de la base de datos o modificar archivos de configuración, es muy probable que el error venga de ahí.
Diagnóstico inicial: ¿Qué está pasando exactamente?
Vamos a empezar con lo más básico: confirmar que el problema es de conexión a la base de datos y no otra cosa.
Paso 1: Identifica el mensaje de error exacto
Cuando tu tienda falla, PrestaShop suele mostrar un mensaje como:
- "Cannot connect to the database. Please check your database connection parameters."
- "Link to database cannot be established."
- "Error de conexión a la base de datos."
Anota exactamente lo que ves. Esto te ayudará a buscar soluciones más precisas.
Paso 2: Comprueba si el servicio MySQL está activo en Plesk
Este es el primer lugar donde debes mirar. Accede a tu panel de control Plesk.
- Inicia sesión en tu cuenta de Plesk.
- Busca la sección "Herramientas y configuración" (normalmente en el menú de la izquierda o en la parte superior).
- Dentro, busca "Servicios del servidor" o "Administrador de servicios". Verás una lista de servicios como Apache, Nginx, FTP, etc.
- Localiza "MySQL" o "MariaDB". Asegúrate de que su estado sea "Activo" o "Corriendo". Si aparece "Detenido", haz clic en el botón de iniciar.
[WARNING] Si el servicio MySQL no se inicia, puede ser un problema más grave del servidor. Contacta con tu proveedor de hosting para que lo revisen.
Paso 3: Verifica las credenciales desde phpMyAdmin
Si el servicio está activo, el siguiente paso es comprobar que las credenciales que tienes en tu archivo de configuración son correctas.
- En tu panel de Plesk, busca la sección "Bases de datos" (suele estar en el menú principal de tu dominio o suscripción).
- Verás una lista de tus bases de datos. Busca la que usa tu PrestaShop.
- Haz clic en "phpMyAdmin" para acceder a ella.
- Aparecerá una ventana de inicio de sesión. Aquí tienes que introducir el usuario y la contraseña de la base de datos (NO los de tu cuenta de Plesk). Si no los recuerdas, en Plesk puedes verlos:
- En la misma página de la base de datos, suele haber un icono de ojo o un enlace para "Mostrar contraseña".
- Si puedes iniciar sesión en phpMyAdmin, la base de datos y el usuario existen y funcionan. El problema está en otro sitio (probablemente en el archivo de configuración de PrestaShop).
- Si no puedes iniciar sesión, la contraseña es incorrecta o el usuario ha sido eliminado. Tendrás que restablecerla desde Plesk.
[INFO] Si no ves phpMyAdmin, puede que no esté instalado. Pregunta a tu hosting cómo acceder a la base de datos.
Solución paso a paso: Arreglando la conexión MySQL
Una vez que tenemos claro que el servicio MySQL funciona y hemos confirmado las credenciales, vamos a la solución principal.
1. Corregir el archivo parameters.php (la solución más común)
Este archivo es el corazón de la configuración de tu PrestaShop. Se encuentra en la carpeta app/config/ de tu instalación de PrestaShop.
¿Cómo acceder a él?
- A través del Administrador de archivos de Plesk: Ve a tu dominio, busca "Administrador de archivos" y navega hasta la carpeta
httpdocs(opublic_html) y luego aapp/config/. - A través de FTP: Conéctate con tu cliente FTP favorito (FileZilla, etc.) y ve a la misma ruta.
¿Qué debo modificar?
Abre el archivo parameters.php con un editor de texto (como el Bloc de notas, o el editor integrado de Plesk). Verás algo como esto (no te asustes, es código PHP, pero solo tocaremos unas líneas):
<?php
return [
'parameters' => [
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
// ... muchas más líneas
],
];
Las líneas clave son:
database_host: Normalmente eslocalhost. Si tu hosting te ha dado un servidor de base de datos externo (comomysql.tudominio.como una IP), cambia este valor.database_port: Déjalo vacío a menos que tu hosting te indique un puerto específico (por ejemplo, 3307).database_name: El nombre exacto de tu base de datos. Cópialo de Plesk.database_user: El nombre exacto del usuario. Cópialo de Plesk.database_password: La contraseña exacta. Cópiala de Plesk (usando el botón de mostrar).
Pasos a seguir:
- Abre el archivo en el editor.
- Verifica y corrige cada uno de los campos anteriores con los datos que ves en Plesk.
- Guarda el archivo y cierra.
- Prueba tu tienda de nuevo. Si el error era por credenciales, debería cargar.
[TIP] Si no estás seguro de algún dato, en Plesk, dentro de la sección "Bases de datos", al hacer clic en el nombre de tu base de datos, verás todos los detalles: nombre, usuario asociado y un enlace para cambiar la contraseña. Usa esa información.
2. Restablecer la contraseña del usuario de la base de datos
A veces, la contraseña que tienes en parameters.php es la correcta, pero el usuario de la base de datos la ha cambiado o se ha corrompido. La forma más segura es restablecerla desde Plesk.
- En Plesk, ve a "Bases de datos".
- Haz clic en el nombre de tu base de datos.
- Busca la opción "Cambiar contraseña" (o similar).
- Genera una contraseña segura (Plesk suele tener un generador) o escribe una que recuerdes.
- Guarda el cambio.
- Ahora, actualiza el archivo
parameters.phpcon esta nueva contraseña.
[WARNING] Este paso es crítico. Si cambias la contraseña en Plesk pero no actualizas el archivo de PrestaShop, la tienda seguirá sin funcionar. Haz ambos cambios de forma coordinada.
3. Verificar los permisos del usuario de la base de datos
En ocasiones, el usuario existe y la contraseña es correcta, pero no tiene todos los permisos necesarios para que PrestaShop funcione (por ejemplo, no puede leer o escribir en las tablas).
- En Plesk, dentro de la página de tu base de datos, busca la opción "Usuarios" o "Gestionar usuarios".
- Verás el usuario asociado a tu base de datos.
- Haz clic en el usuario y asegúrate de que tiene todos los privilegios marcados (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). Lo más seguro es marcar "TODOS LOS PRIVILEGIOS".
- Guarda los cambios.
4. Forzar la regeneración del archivo de caché de PrestaShop
A veces, PrestaShop guarda en caché los datos de conexión. Aunque hayas corregido el parameters.php, puede que la tienda siga mostrando el error porque usa una versión antigua en caché.
Solución:
- Elimina la carpeta
var/cache/dentro de la instalación de tu PrestaShop (enhttpdocs/var/cache/). Puedes hacerlo desde el Administrador de archivos de Plesk o por FTP. - No te preocupes, PrestaShop la volverá a crear automáticamente con los nuevos datos.
- Después de borrarla, prueba tu tienda de nuevo.
5. Revisar el nombre del servidor de base de datos
Aunque es raro, algunos hostings usan un nombre de servidor diferente a localhost. Esto es común en configuraciones con clústeres o bases de datos externas.
- Revisa el correo de bienvenida de tu hosting. A menudo te indican el servidor de base de datos.
- Pregunta al soporte técnico de tu proveedor de hosting. Diles: "¿Cuál es el hostname de mi base de datos MySQL?".
- En Plesk, a veces puedes verlo en la sección de bases de datos, o en las herramientas de "Información del sistema".
Si te dan un valor diferente a localhost, cámbialo en el parameters.php.
Solución de problemas avanzados (si lo anterior no funciona)
Si has seguido todos los pasos y el error persiste, podemos estar ante un problema más complejo.
Problemas con el prefijo de las tablas
En el archivo parameters.php también hay una línea 'database_prefix' => 'ps_'. Este prefijo se usa para las tablas de tu PrestaShop. Si has migrado una tienda o has restaurado una copia de seguridad, el prefijo real de las tablas en tu base de datos puede ser diferente.
¿Cómo verificarlo?
- Accede a tu base de datos por phpMyAdmin.
- Mira los nombres de las tablas. Si ves
ps_products,ps_orders, etc., el prefijo esps_. Si vesshop_products, el prefijo esshop_. - Corrige el valor en
parameters.phppara que coincida exactamente.
El usuario de la base de datos no coincide con el nombre de la base de datos
En muchos entornos de hosting (especialmente en Plesk), el nombre del usuario de la base de datos suele ser el mismo que el de la base de datos, o sigue un patrón como usuario_bd. Asegúrate de que el usuario que has asociado a la base de datos es el correcto.
Problemas con el puerto de MySQL
Aunque el puerto por defecto de MySQL es el 3306, algunos hostings lo cambian por seguridad. Si tu hosting te ha indicado un puerto diferente, debes especificarlo en el archivo parameters.php en la línea 'database_port' => '3307' (por ejemplo).
Restaurar una copia de seguridad
Si todo lo demás falla, la opción más drástica pero efectiva es restaurar una copia de seguridad de tu tienda (tanto los archivos como la base de datos) de cuando funcionaba correctamente.
- Haz una copia de seguridad de tu estado actual (por si acaso).
- Restaura los archivos de tu PrestaShop desde una copia anterior.
- Restaura la base de datos desde la misma copia anterior (usando phpMyAdmin o la herramienta de restauración de Plesk).
- Asegúrate de que las credenciales en el
parameters.phprestaurado coinciden con las de la base de datos restaurada.
Preguntas Frecuentes (FAQ)
¿Por qué aparece "Error de conexión a la base de datos" después de migrar mi tienda?
Es el error más común en migraciones. Las causas principales son:
- Credenciales incorrectas en
parameters.php(el nuevo hosting tiene datos diferentes). - El nombre del servidor no es
localhosten el nuevo hosting. - El prefijo de las tablas es diferente en la base de datos importada.
- Falta de permisos del usuario de la base de datos.
Solución: Revisa punto por punto los pasos de esta guía, empezando por verificar las credenciales en Plesk y actualizar el parameters.php.
¿Qué hago si no encuentro el archivo parameters.php?
Es muy raro, pero puede que esté oculto. Asegúrate de que tu cliente FTP o el Administrador de archivos de Plesk esté configurado para mostrar archivos ocultos (los que empiezan por punto). Si no está, es posible que tu instalación de PrestaShop esté dañada o incompleta.
¿Puedo cambiar la contraseña de la base de datos desde Plesk sin romper mi tienda?
Sí, pero solo si actualizas el archivo parameters.php inmediatamente después. Si cambias la contraseña en Plesk y no la cambias en el archivo de configuración, la tienda dejará de funcionar hasta que lo hagas.
¿Es lo mismo "localhost" que "127.0.0.1"?
Sí, en la práctica son equivalentes para la conexión a la base de datos. Si localhost no funciona, puedes probar con 127.0.0.1.
¿Qué hago si el servicio MySQL no se inicia en Plesk?
Esto ya es un problema del servidor. Contacta con tu proveedor de hosting y diles que el servicio MySQL no arranca. Ellos deberán revisar los logs del servidor para solucionarlo.
¿Puedo usar una base de datos externa (no en mi servidor Plesk)?
Sí, es posible. En ese caso, en el parameters.php, en database_host debes poner la IP o el nombre de host de ese servidor externo, y asegurarte de que tu servidor Plesk tiene permiso para conectarse a él (a través de firewalls).
Conclusión: No te desesperes, todo tiene solución
Encontrarse con un error base datos PrestaShop puede ser desalentador, pero como has visto, la gran mayoría de las veces la solución es sencilla y está al alcance de tu mano. La clave está en un diagnóstico metódico: primero comprueba el servicio, luego verifica las credenciales y, finalmente, revisa la configuración.
Recuerda que Plesk te da todas las herramientas necesarias para gestionar tus bases de datos de forma visual y sencilla. Usa el phpMyAdmin para probar la conexión, el Administrador de archivos para modificar el parameters.php y la sección de **Bases de
