Cómo solucionar problemas de conexión a base de datos en PrestaShop en Plesk
Introducción: Cuando PrestaShop no encuentra su base de datos
Si tienes una tienda online con PrestaShop alojada en un servidor Plesk y de repente ves un mensaje de error conexión base datos PrestaShop Plesk, no te preocupes. Es uno de los problemas más comunes y, por lo general, tiene solución en pocos pasos. En esta guía te explicaré, paso a paso, cómo identificar y solucionar los problemas de base de datos en PrestaShop cuando está en un entorno Plesk.
Vamos a cubrir desde lo más básico (credenciales incorrectas) hasta causas más técnicas como permisos de usuario, problemas con el archivo de configuración o incluso conflictos con el firewall. Todo explicado de forma clara, sin tecnicismos innecesarios.
¿Por qué aparece el error de conexión a la base de datos en PrestaShop?
Cuando PrestaShop intenta conectarse a su base de datos (normalmente MySQL o MariaDB) y no lo consigue, muestra un mensaje similar a:
"Error de conexión a la base de datos" o "Cannot connect to database".
Esto puede ocurrir por varias razones:
- Credenciales incorrectas en el archivo de configuración.
- El servicio de base de datos no está funcionando.
- El usuario de la base de datos no tiene permisos.
- El archivo de configuración está dañado o mal escrito.
- Problemas de firewall o puertos bloqueados.
- La base de datos ha superado el límite de conexiones.
- El servidor Plesk tiene algún conflicto con la versión de PHP o MySQL.
A continuación, veremos cómo diagnosticar y resolver cada uno de estos casos.
Paso 1: Verifica que el servicio de base de datos esté activo en Plesk
Antes de tocar nada, asegúrate de que MySQL o MariaDB esté funcionando. En Plesk, puedes hacerlo desde el panel:
- Inicia sesión en Plesk.
- Ve a Herramientas y configuración > Servicios.
- Busca MySQL o MariaDB y comprueba que el estado sea "en ejecución".
[TIP] Si el servicio está detenido, haz clic en Iniciar. Si no se inicia, puede haber un problema de recursos o de configuración del servidor.
Si no ves la opción, puedes usar el acceso SSH (si lo tienes) y ejecutar:
systemctl status mariadb
# o
systemctl status mysql
Si el servicio no arranca, revisa los logs del sistema (por ejemplo, /var/log/mysql/error.log) para más detalles.
Paso 2: Revisa las credenciales en el archivo de configuración de PrestaShop
El archivo que guarda los datos de conexión a la base de datos en PrestaShop se llama app/config/parameters.php. Si este archivo tiene información incorrecta, PrestaShop no podrá conectar.
Para revisarlo:
- Accede a tu hosting vía FTP o al administrador de archivos de Plesk.
- Navega hasta la carpeta raíz de tu PrestaShop (normalmente
httpdocsopublic_html). - Abre la carpeta
app/config/. - Busca el archivo
parameters.phpy ábrelo con un editor de texto.
Dentro verás algo como esto:
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'nombre_bd',
'database_user' => 'usuario_bd',
'database_password' => 'contraseña_bd',
Asegúrate de que los valores coincidan exactamente con los que tienes en Plesk. Los errores más comunes son:
- Nombre de base de datos incorrecto (a veces incluye un prefijo como
usuario_nombrebd). - Usuario incorrecto (debe ser el mismo que creaste en Plesk, a menudo con el formato
usuario_bd). - Contraseña mal escrita (cuidado con mayúsculas, minúsculas y caracteres especiales).
- Host incorrecto: en Plesk, normalmente es
localhost, pero si usas un servidor externo, puede ser una IP o un nombre de dominio.
[WARNING] Si modificas este archivo, asegúrate de no dejar espacios extra o saltos de línea no deseados. Un simple error de sintaxis puede romper la conexión.
Paso 3: Comprueba los permisos del usuario de la base de datos en Plesk
A veces, aunque las credenciales sean correctas, el usuario de la base de datos no tiene permisos suficientes. Para verificarlo en Plesk:
- Ve a Bases de datos en el panel de Plesk.
- Selecciona la base de datos que usa tu PrestaShop.
- Haz clic en Administrar usuarios o Usuarios de base de datos.
- Asegúrate de que el usuario asociado tenga marcados todos los permisos (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
Si no ves los permisos, puedes asignarlos desde phpMyAdmin (accesible desde Plesk):
- Abre phpMyAdmin desde el panel de Plesk.
- Selecciona tu base de datos.
- Ve a la pestaña Privilegios.
- Edita el usuario y marca "Marcar todos" en los privilegios de datos y estructura.
[INFO] En Plesk, los usuarios de base de datos suelen tener un prefijo con el nombre del suscriptor (ej:
cliente1_usuario). Asegúrate de usar ese nombre completo en el archivo de configuración.
Paso 4: Verifica que el archivo parameters.php esté bien escrito
Si el archivo parameters.php está dañado o tiene errores de sintaxis, PrestaShop no podrá leerlo correctamente. Una forma rápida de comprobarlo es abrirlo y buscar:
- Comillas mal cerradas.
- Falta de punto y coma al final de cada línea.
- Caracteres extraños (como saltos de línea invisibles).
Si no estás seguro, puedes descargar una copia de seguridad del archivo desde una instalación limpia de PrestaShop (de la misma versión) y reemplazar solo los valores de conexión.
[TIP] Haz siempre una copia de seguridad del archivo original antes de modificarlo. Si algo sale mal, puedes restaurarlo.
Paso 5: Prueba la conexión manualmente desde phpMyAdmin
Una forma sencilla de saber si el problema es de PrestaShop o de la base de datos es probar la conexión desde phpMyAdmin:
- Abre phpMyAdmin desde Plesk.
- Inicia sesión con el usuario y contraseña que tienes en el archivo
parameters.php. - Si puedes acceder y ver las tablas de PrestaShop (como
ps_shop_url,ps_configuration, etc.), entonces la base de datos funciona bien y el problema está en la configuración de PrestaShop.
Si no puedes acceder, revisa:
- Usuario o contraseña incorrectos.
- El usuario no tiene acceso a esa base de datos (puedes asignarlo desde la pestaña "Privilegios").
- La base de datos no existe (puedes crearla desde Plesk).
Paso 6: Revisa el archivo .htaccess y la configuración de PHP
A veces, un archivo .htaccess mal configurado o una versión de PHP incompatible pueden provocar errores de conexión. En Plesk:
- Ve a Sitios web y dominios > selecciona tu dominio.
- Haz clic en Configuración de PHP.
- Asegúrate de que la versión de PHP sea compatible con tu PrestaShop (recomendado: 7.4, 8.0 u 8.1 según la versión de PrestaShop).
- Verifica que los límites de memoria y tiempo de ejecución sean suficientes (por ejemplo,
memory_limitde 256M o más).
También revisa el archivo .htaccess en la raíz de PrestaShop. Si está corrupto, puedes renombrarlo a .htaccess.bak y luego regenerarlo desde el panel de administración de PrestaShop (si es que puedes acceder).
[WARNING] No elimines el
.htaccesssin hacer copia, ya que puede contener reglas de redirección importantes.
Paso 7: Comprueba los logs de error de PrestaShop y del servidor
Los logs son tus mejores aliados para encontrar la causa exacta. En PrestaShop:
- Ve a la carpeta
var/logs/dentro de la instalación de PrestaShop. - Busca archivos como
prod.logodev.log(dependiendo del modo en que esté). - Ábrelos y busca líneas que contengan "database", "connection" o "PDO".
En Plesk, también puedes revisar los logs del servidor:
- Log de errores de Apache/Nginx (desde el panel de Plesk o en
/var/log/). - Log de MySQL (en
/var/log/mysql/error.log).
Si ves mensajes como "Too many connections" o "Access denied for user", ya sabes por dónde seguir.
Paso 8: Soluciona problemas de límite de conexiones o firewall
Si tu base de datos está en un servidor separado o tienes un firewall, puede que esté bloqueando las conexiones. En Plesk:
- Ve a Herramientas y configuración > Firewall (si está disponible).
- Asegúrate de que el puerto 3306 (MySQL) esté abierto para la IP de tu servidor web (si es externo).
- Si usas Syspanel (antes HestiaCP), recuerda que el acceso es por el puerto 2106. En ese caso, verifica que el firewall permita tráfico hacia ese puerto.
También puedes aumentar el límite de conexiones simultáneas en MySQL editando el archivo de configuración (/etc/my.cnf o /etc/mysql/mariadb.conf.d/) y añadiendo:
max_connections = 500
Luego reinicia el servicio.
Paso 9: Restaura la base de datos desde una copia de seguridad
Si después de todo lo anterior el error persiste, puede que la base de datos esté corrupta. En ese caso:
- Desde Plesk, ve a Bases de datos > selecciona tu base de datos.
- Haz clic en Exportar para descargar una copia de seguridad (si aún puedes acceder).
- Luego, elimina la base de datos y créala de nuevo con el mismo nombre.
- Importa la copia de seguridad desde phpMyAdmin o desde la opción Importar de Plesk.
[INFO] Siempre ten una copia de seguridad reciente de tu base de datos. En Plesk puedes programar backups automáticos.
Paso 10: Reinstala PrestaShop (solo como último recurso)
Si nada funciona y tu tienda no tiene datos críticos (o tienes una copia de seguridad reciente), puedes reinstalar PrestaShop. Pero antes:
- Haz una copia de seguridad completa de los archivos y la base de datos.
- Elimina la carpeta de instalación y vuelve a subir los archivos limpios.
- Durante la instalación, usa los mismos datos de base de datos que tenías.
- Si tenías una base de datos anterior, PrestaShop detectará las tablas existentes y te preguntará si quieres actualizar o reinstalar.
Este paso es drástico, pero a veces es la única solución cuando el archivo de configuración está tan dañado que no se puede reparar.
FAQ: Preguntas frecuentes sobre errores de conexión a base de datos en PrestaShop en Plesk
¿Por qué aparece "error conexión base datos PrestaShop Plesk" después de migrar el sitio?
Al migrar, los datos de conexión (nombre de base de datos, usuario, contraseña) cambian. Debes actualizar el archivo app/config/parameters.php con los nuevos valores de Plesk.
¿Qué hago si PrestaShop no conecta BD Plesk después de actualizar PHP?
Las versiones de PHP más recientes pueden requerir extensiones como pdo_mysql o mysqli. En Plesk, ve a Configuración de PHP y asegúrate de que estas extensiones estén habilitadas.
¿Cómo puedo solucionar problemas base datos PrestaShop si no tengo acceso a phpMyAdmin?
Puedes usar la línea de comandos SSH (si está disponible) para probar la conexión:
mysql -u usuario -p -h localhost nombre_bd
Si el comando falla, el problema es de credenciales o permisos.
¿Es posible que el problema sea por un plugin o tema de PrestaShop?
Sí, algunos módulos pueden sobrescribir la configuración de conexión. Prueba a desactivar todos los módulos no esenciales desde el panel de administración (si puedes acceder) o renombrando la carpeta modules temporalmente.
¿Plesk PrestaShop base de datos: qué hago si el archivo parameters.php no existe?
Si falta el archivo, PrestaShop no puede conectarse. Puedes crear uno nuevo copiando el contenido de un archivo parameters.php de una instalación limpia de la misma versión y editando los valores.
Conclusión
Los problemas de conexión a la base de datos en PrestaShop en Plesk suelen deberse a errores simples: credenciales mal escritas, permisos insuficientes o servicios caídos. Siguiendo los pasos de esta guía, podrás diagnosticar y solucionar la mayoría de los casos sin necesidad de ser un experto.
Recuerda:
- Siempre haz copias de seguridad antes de modificar archivos.
- Revisa los logs para obtener pistas precisas.
- No temas usar phpMyAdmin para probar la conexión manualmente.
- Si usas Syspanel (HestiaCP), el puerto de acceso es el 2106, no olvides verificarlo.
Con paciencia y método, tu tienda PrestaShop volverá a funcionar en poco tiempo. ¡Buena suerte!
