PrestaShop: Cómo solucionar el error de conexión a la base de datos en Plesk
Imagina que estás a punto de abrir tu tienda online en PrestaShop y, de repente, te encuentras con un mensaje de error que dice algo como “Error de conexión a la base de datos” o “No se puede conectar a la base de datos”. Es frustrante, ¿verdad? Pero no te preocupes: este es uno de los errores más comunes en entornos de hosting, y tiene solución.
Si estás usando Plesk como panel de control de tu servidor, estás en el lugar correcto. En esta guía extensa y paso a paso, te explicaré desde cero cómo diagnosticar y solucionar el error de conexión a la base de datos en PrestaShop en Plesk. Cubriremos desde las causas más simples (como un cambio de contraseña) hasta las más técnicas (como permisos de archivos o configuración de servidor).
Vamos a ello. No necesitas ser un experto en Linux o SysAdmin, solo sigue las instrucciones al pie de la letra.
¿Por qué ocurre el error de conexión a la base de datos en PrestaShop?
Antes de lanzarnos a las soluciones, es importante entender qué significa este error. PrestaShop necesita comunicarse con una base de datos (normalmente MySQL o MariaDB) para almacenar productos, clientes, pedidos y configuraciones. Cuando falla esa comunicación, la tienda se queda “en blanco” o muestra un mensaje de error.
Las causas más frecuentes en un entorno Plesk son:
- Cambio de contraseña de la base de datos (el usuario o la contraseña ya no coinciden).
- El servidor de base de datos está caído o sobrecargado.
- Archivo de configuración
parameters.phposettings.inc.phpcorrupto o con datos incorrectos. - Permisos incorrectos en los archivos de PrestaShop.
- Problemas con el usuario de la base de datos en Plesk (sin permisos para la base de datos correcta).
- Firewall o reglas de seguridad que bloquean la conexión.
- Versión de PHP incompatible o falta de extensiones (como
mysqliopdo_mysql).
Vamos a resolverlo paso a paso.
Paso 1: Verifica el estado del servidor de base de datos en Plesk
Lo primero es asegurarte de que el servicio de MySQL/MariaDB esté funcionando. A veces el servidor se reinicia o se cae sin que te des cuenta.
Cómo comprobarlo en Plesk:
- Accede a tu panel de Plesk (normalmente
https://tudominio.com:8443o la IP con ese puerto). - Ve a Herramientas y Configuración > Administración de Servicios (a veces está en “Servicios del sistema”).
- Busca el servicio MySQL o MariaDB. Debe aparecer con un estado “En ejecución” (verde).
- Si está detenido, haz clic en Iniciar.
[TIP] Si no ves el servicio, puede que esté oculto. Revisa también en “Servidores de bases de datos” dentro del menú de tu suscripción.
Si el servicio está funcionando, pasa al siguiente paso.
Paso 2: Revisa las credenciales de la base de datos en los archivos de PrestaShop
El error más común es que PrestaShop tenga guardadas unas credenciales (usuario, contraseña, nombre de la base de datos) que ya no son válidas. Esto puede pasar si cambiaste la contraseña desde Plesk o si moviste la tienda a otro servidor.
PrestaShop guarda esta información en dos archivos clave:
app/config/parameters.php(PrestaShop 1.7 y versiones modernas).config/settings.inc.php(PrestaShop 1.6 y anteriores).
Cómo localizarlos y editarlos:
- Conéctate a tu servidor mediante FTP o el Administrador de archivos de Plesk.
- Desde Plesk: ve a Sitios web y dominios > haz clic en Administrador de archivos (icono de carpeta).
- Navega hasta la carpeta raíz de tu tienda (normalmente
httpdocsopublic_html). - Busca el archivo correspondiente según tu versión:
- Para PrestaShop 1.7+:
app/config/parameters.php - Para PrestaShop 1.6:
config/settings.inc.php
- Para PrestaShop 1.7+:
- Ábrelo con el editor de texto integrado en Plesk (clic derecho > Editar en el editor de código).
¿Qué debes buscar?
Dentro del archivo, verás líneas como estas (ejemplo de parameters.php):
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
En settings.inc.php será similar, con variables como _DB_SERVER_, _DB_NAME_, _DB_USER_, _DB_PASSWD_.
[WARNING] ¡Cuidado! No modifiques nada más que estos valores. Un cambio incorrecto puede romper la tienda.
Compara con los datos reales de Plesk:
- En Plesk, ve a Sitios web y dominios > Bases de datos.
- Selecciona la base de datos de tu tienda. Ahí verás el nombre de la base de datos, el usuario y la opción de cambiar la contraseña.
- Asegúrate de que coincidan exactamente con lo que aparece en el archivo de configuración. Si la contraseña fue cambiada, actualiza el archivo con la nueva.
Ejemplo práctico: Si en Plesk ves que la base de datos se llama mishop_db y el usuario mishop_user, pero en parameters.php pone database_name => 'old_db', cámbialo a 'mishop_db'.
Guarda los cambios y recarga tu tienda. Si el error persiste, continúa.
Paso 3: Verifica los permisos del usuario de la base de datos en Plesk
A veces el usuario de la base de datos existe, pero no tiene permisos suficientes para conectarse desde el servidor web. En Plesk, los usuarios suelen tener permisos completos automáticamente, pero vale la pena comprobarlo.
- En Bases de datos de Plesk, haz clic en el nombre de la base de datos.
- Verás una sección Usuarios de la base de datos. Asegúrate de que el usuario que usa PrestaShop esté listado aquí.
- Si no aparece, puedes añadirlo manualmente:
- Haz clic en Añadir usuario de base de datos.
- Selecciona el usuario correcto (o crea uno nuevo) y asígnale todos los privilegios (marca “Todo” o “ALL PRIVILEGES”).
- También verifica que el host permitido sea
localhosto%(cualquier host). En Plesk, por defecto suele serlocalhost, que es lo correcto para la mayoría de casos.
[INFO] Si tu PrestaShop está en un servidor externo (no en el mismo que la base de datos), necesitarás configurar el host remoto. Pero en Plesk, lo normal es que todo esté en el mismo servidor, así que
localhostfunciona.
Paso 4: Comprueba la versión de PHP y las extensiones necesarias
PrestaShop requiere una versión específica de PHP y ciertas extensiones para conectar con la base de datos. Si tu servidor tiene una versión muy antigua o muy nueva, puede dar error.
Cómo verificar la versión de PHP en Plesk:
- Ve a Sitios web y dominios > selecciona tu dominio.
- Busca la opción Configuración de PHP (a veces dentro de Hosting o Configuración del sitio).
- Ahí verás la versión de PHP activa. PrestaShop 1.7.x funciona bien con PHP 7.1 a 8.0 (recomendado 7.4). PrestaShop 1.6 necesita PHP 5.6 o 7.0 como máximo.
Extensiones obligatorias:
Asegúrate de que las siguientes extensiones estén habilitadas (marcadas como “On”):
mysqlipdo_mysqlopensslmbstringgdintlzip
En la misma pantalla de Configuración de PHP, busca la sección Extensiones y verifica que estén activas. Si alguna no lo está, actívala desde el menú desplegable o contacta con tu proveedor de hosting si no tienes permisos.
[WARNING] Si cambias la versión de PHP, PrestaShop podría no funcionar correctamente. Haz una copia de seguridad antes de hacer cambios.
Paso 5: Revisa los permisos de archivos y carpetas de PrestaShop
Los archivos de configuración de PrestaShop deben tener permisos de lectura para el usuario del servidor web (normalmente www-data o apache). Si los permisos son incorrectos, PHP no podrá leer las credenciales y dará error.
Cómo corregir permisos desde Plesk:
-
En el Administrador de archivos, selecciona la carpeta raíz de tu tienda.
-
Haz clic en Cambiar permisos (icono de candado o en el menú).
-
Aplica los siguientes permisos recomendados:
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
Puedes aplicar esto de forma recursiva marcando “Aplicar a todos los archivos y subdirectorios”.
-
Especialmente, verifica que los archivos
parameters.phpysettings.inc.phptengan permisos 644 o 600 (más seguro). Si están en 777, cámbialos.
[TIP] Si no estás seguro, pon las carpetas en 755 y los archivos en 644. Es el estándar para la mayoría de CMS.
Paso 6: Prueba la conexión manualmente desde la línea de comandos (SSH)
Si tienes acceso SSH a tu servidor, puedes probar la conexión directamente desde la terminal. Esto te dirá si el problema está en PrestaShop o en la base de datos misma.
Pasos:
-
Conéctate por SSH a tu servidor (necesitarás credenciales de root o de un usuario con permisos).
-
Ejecuta el siguiente comando, reemplazando
usuario,contraseñaybasededatospor los tuyos:mysql -u usuario -p -h localhost basededatosTe pedirá la contraseña. Si la conexión es exitosa, verás el prompt de MySQL (
mysql>). Si falla, te dirá el motivo (por ejemplo, “Access denied” o “Can’t connect”). -
Si la conexión falla, el problema está en la base de datos (contraseña incorrecta, usuario no existe, etc.). Si funciona, el problema está en la configuración de PrestaShop.
[INFO] Si no tienes SSH, puedes usar la herramienta phpMyAdmin que viene incluida en Plesk. Desde allí también puedes probar a conectarte con las mismas credenciales.
Paso 7: Reconstruye el archivo de configuración de PrestaShop (solución avanzada)
Si todo lo anterior falla, puedes intentar regenerar el archivo de configuración. Esto es útil si el archivo está corrupto o tiene caracteres extraños.
Para PrestaShop 1.7+:
- Haz una copia de seguridad de
app/config/parameters.php(por si acaso). - Elimina el archivo original o renómbralo (ej:
parameters.php.bak). - Vuelve a ejecutar la instalación de PrestaShop desde la URL de tu tienda (ej:
tutienda.com/install). Esto te pedirá los datos de la base de datos y generará un nuevo archivo. - Una vez instalado, puedes restaurar los datos de la tienda desde una copia de seguridad de la base de datos (si la tienes).
[WARNING] Este método es más drástico. Si no tienes experiencia, mejor pide ayuda a un técnico.
Para PrestaShop 1.6:
El archivo config/settings.inc.php se puede editar manualmente, pero si está muy dañado, también puedes reinstalar. Sin embargo, existe un truco: puedes crear un archivo nuevo con los datos correctos usando un editor de texto plano.
Paso 8: Verifica el firewall y las reglas de seguridad del servidor
En algunos casos, el firewall del sistema (como iptables o firewalld) o las reglas de seguridad de Plesk (como Fail2ban) pueden bloquear la conexión a la base de datos.
Cómo revisarlo en Plesk:
- Ve a Herramientas y Configuración > Firewall (si está disponible).
- Asegúrate de que el puerto 3306 (MySQL) esté abierto para conexiones locales (desde
localhost). Normalmente no deberías abrirlo al público por seguridad. - Si usas Fail2ban, revisa si tu IP ha sido bloqueada por muchos intentos fallidos. Puedes desbloquearla desde la misma sección.
[TIP] La mayoría de las veces el firewall no es el culpable, pero si has hecho cambios recientes, vale la pena comprobarlo.
Preguntas frecuentes (FAQ) sobre el error de base de datos en PrestaShop y Plesk
Aquí respondo a las dudas más comunes que suelen tener los usuarios:
¿Qué hago si no recuerdo la contraseña de la base de datos?
En Plesk, puedes resetearla fácilmente:
- Ve a Bases de datos > selecciona tu base de datos.
- Haz clic en Cambiar contraseña (junto al usuario).
- Establece una nueva contraseña segura.
- Actualiza también el archivo
parameters.phposettings.inc.phpcon la nueva contraseña.
¿Puedo tener el error por culpa de un plugin o módulo?
Sí, aunque es menos común. Algunos módulos mal codificados pueden sobrescribir la configuración de la base de datos. Si el error apareció justo después de instalar un módulo, prueba a desactivarlo desde la base de datos (si puedes acceder a phpMyAdmin) o renombrando la carpeta del módulo en /modules.
¿El error puede deberse a que la base de datos está llena?
Sí, si la base de datos supera el límite de tamaño permitido por tu plan de hosting, PrestaShop no podrá escribir nuevos datos y podría mostrar errores de conexión. Verifica el espacio usado desde Plesk en Bases de datos > Estadísticas.
¿Qué significa “Error de conexión a la base de datos” en blanco?
A veces PrestaShop no muestra detalles por seguridad. Si ves una página en blanco, revisa los logs de errores de PHP en Plesk:
- Ve a Sitios web y dominios > Logs (o Registros).
- Busca errores recientes relacionados con
mysqlodatabase.
¿Debo contactar con soporte técnico?
Si después de seguir todos estos pasos el error persiste, es probable que sea un problema a nivel de servidor (configuración de MySQL, permisos del sistema, etc.). En ese caso, contacta con tu proveedor de hosting y muéstrales esta guía. Diles que ya verificaste credenciales, permisos y extensiones PHP.
Resumen rápido de solución
- Reinicia el servicio MySQL en Plesk.
- Verifica las credenciales en
parameters.phposettings.inc.php. - Comprueba los permisos del usuario en la base de datos.
- Ajusta la versión de PHP y activa extensiones
mysqliypdo_mysql. - Corrige permisos de archivos a 644/755.
- Prueba conexión manual con MySQL o phpMyAdmin.
- Reconstruye el archivo de configuración si es necesario.
- Revisa firewall y Fail2ban.
Conclusión
El error de conexión a la base de datos en PrestaShop puede ser desconcertante, pero como has visto, la mayoría de las veces se soluciona con unos pocos pasos desde el panel de Plesk. Lo importante es no entrar
