Cómo resolver el error de conexión a la base de datos en PrestaShop en Plesk
¡Hola! Soy tu técnico de soporte amigable. Si estás viendo el temido mensaje de error conexión base de datos PrestaShop en tu panel de Plesk, no te preocupes. Es uno de los problemas más comunes, pero también de los más fáciles de resolver si sigues los pasos correctos. En esta guía extensa te explicaré desde las causas más frecuentes hasta las soluciones paso a paso, incluyendo cómo editar el archivo settings.inc.php PrestaShop y verificar la configuración de tu servidor Plesk.
Vamos a desglosar todo para que puedas solucionar PrestaShop Plesk sin necesidad de ser un experto. Al final, incluiré una sección de preguntas frecuentes (FAQ) para resolver dudas típicas. ¡Empecemos!
¿Por qué aparece el error de conexión a la base de datos en PrestaShop?
Este error suele aparecer cuando PrestaShop no puede comunicarse con la base de datos MySQL/MariaDB. Las causas más habituales son:
- Credenciales incorrectas en el archivo de configuración.
- El servidor de base de datos está caído o no responde.
- El nombre de la base de datos o usuario no existe o fue eliminado.
- Problemas de permisos del usuario de la base de datos.
- Cambios en la contraseña de la base de datos (por ejemplo, después de una migración o renovación de hosting).
- Firewall o configuración de Plesk que bloquea la conexión local.
En Plesk, la gestión de bases de datos es muy visual, pero a veces un pequeño cambio puede romper la conexión. Vamos a revisarlo paso a paso.
Paso 1: Identificar el error exacto
Antes de tocar nada, anota el mensaje de error completo. En PrestaShop, el error típico es:
"Error de conexión a la base de datos: No se puede conectar al servidor de base de datos"
Pero también puede mostrar detalles como SQLSTATE[HY000] [2002] Connection refused o Access denied for user. Estos detalles te ayudarán a saber si el problema es de red, credenciales o permisos.
Paso 2: Acceder a Plesk y localizar la base de datos
- Inicia sesión en tu panel de Plesk.
- Ve a Bases de datos (o Databases en inglés) en el menú izquierdo.
- Verás una lista de todas las bases de datos asociadas a tu dominio. Busca la que usa tu PrestaShop (normalmente tiene un nombre como
prestashop_xxxxo similar). - Haz clic en el nombre de la base de datos para ver los detalles: nombre, usuario asociado y servidor (normalmente
localhost).
[INFO] Si no recuerdas cuál base de datos usa tu tienda, puedes revisarlo en el archivo
settings.inc.phpque veremos más adelante.
Paso 3: Verificar credenciales en el archivo settings.inc.php
Este es el archivo clave donde PrestaShop guarda los datos de conexión. Se encuentra en la raíz de tu instalación:
/tu_dominio/config/settings.inc.php
Cómo acceder al archivo:
- Opción A (desde Plesk): Ve a Administrador de archivos en Plesk, navega hasta la carpeta
configde tu tienda y buscasettings.inc.php. - Opción B (vía FTP): Conéctate con un cliente FTP (como FileZilla) y localiza el archivo en
public_html/config/settings.inc.php.
¿Qué debes revisar?
Abre el archivo con un editor de texto (como Bloc de notas o el editor integrado de Plesk). Busca estas líneas:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_de_tu_base');
define('_DB_USER_', 'usuario_de_tu_base');
define('_DB_PASSWD_', 'contraseña_de_tu_base');
define('_DB_PREFIX_', 'ps_');
Verifica que:
_DB_SERVER_sealocalhost(o la dirección del servidor de bases de datos que te haya proporcionado tu hosting)._DB_NAME_,_DB_USER_y_DB_PASSWD_coincidan exactamente con los datos de la base de datos que viste en Plesk.
[WARNING] Si cambiaste la contraseña de la base de datos desde Plesk, debes actualizarla aquí. De lo contrario, PrestaShop no podrá conectar.
Cómo editar el archivo:
- Haz clic derecho sobre
settings.inc.phpy selecciona Editar (o descárgalo, edítalo y súbelo de nuevo). - Corrige los valores incorrectos.
- Guarda los cambios.
Paso 4: Verificar que el usuario de la base de datos tenga permisos
En Plesk, los usuarios de bases de datos pueden tener permisos limitados. Para que PrestaShop funcione, el usuario debe tener al menos los permisos de SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP (todos los privilegios sobre la base de datos).
Cómo comprobarlo:
- En Plesk, ve a Bases de datos y haz clic en el nombre de tu base de datos.
- Busca la sección Usuarios o User management.
- Verás el usuario asociado. Si hay un candado o permisos restringidos, haz clic en Editar.
- Selecciona Todos los privilegios o marca manualmente las opciones necesarias.
- Guarda los cambios.
Paso 5: Reiniciar el servidor de bases de datos (si tienes acceso)
A veces el servicio MySQL/MariaDB se cuelga o se reinicia automáticamente. Si tienes acceso a la terminal de Plesk (o a través de SSH), puedes reiniciarlo:
systemctl restart mariadb
# o
systemctl restart mysql
Si no tienes acceso, contacta a tu proveedor de hosting para que lo hagan. También puedes intentar reparar la base de datos desde Plesk:
- Ve a Bases de datos.
- Selecciona la base de datos problemática.
- Haz clic en Reparar (icono de herramienta).
Paso 6: Verificar el archivo settings.inc.php después de una migración
Si migraste tu tienda desde otro servidor o cambiaste de hosting, es muy común que el archivo settings.inc.php aún tenga las credenciales antiguas. Asegúrate de actualizarlo con los nuevos datos de Plesk.
[TIP] Después de una migración, también debes verificar que el prefijo de las tablas (
_DB_PREFIX_) sea el mismo que el de la base de datos original. Si no, PrestaShop no encontrará las tablas.
Paso 7: Solucionar problemas de firewall o conexión local
En algunos casos, el firewall de Plesk o del servidor puede bloquear la conexión a MySQL en el puerto 3306. Si tu base de datos está en otro servidor (no en localhost), asegúrate de que el puerto esté abierto.
Para conexiones locales, lo normal es que funcione sin problemas. Pero si ves errores como Connection refused, prueba lo siguiente:
- Cambia en
settings.inc.phpel valor de_DB_SERVER_delocalhosta127.0.0.1. - Si usas un socket, prueba con
localhosto la IP del servidor.
Paso 8: Restaurar desde una copia de seguridad
Si nada funciona y tienes una copia de seguridad reciente de tu base de datos, puedes restaurarla desde Plesk:
- Ve a Bases de datos.
- Selecciona la base de datos y haz clic en Importar.
- Sube el archivo
.sqlde tu copia de seguridad. - Asegúrate de que el usuario y contraseña sigan siendo los mismos.
[WARNING] Al restaurar, perderás los cambios recientes no respaldados. Hazlo solo como último recurso.
Paso 9: Verificar la versión de PHP y PrestaShop
A veces, una actualización de PHP puede romper la compatibilidad con la extensión MySQL. PrestaShop 1.6 y versiones antiguas requieren PHP 5.6 o 7.0. Las versiones modernas (1.7 y 8.x) necesitan PHP 7.1 o superior.
En Plesk, puedes cambiar la versión de PHP para tu dominio:
- Ve a Hosting & DNS > Configuración de hosting.
- En la sección PHP, selecciona la versión adecuada.
- Guarda los cambios.
FAQ: Preguntas frecuentes sobre el error de conexión a la base de datos en PrestaShop
1. ¿Qué hago si el archivo settings.inc.php no existe?
Si no encuentras el archivo, es posible que tu instalación de PrestaShop esté corrupta o no se haya completado. Deberías reinstalar PrestaShop o restaurar desde una copia de seguridad. También puedes crearlo manualmente con los datos correctos (pero es mejor restaurar).
2. ¿Puedo cambiar la contraseña de la base de datos desde Plesk sin afectar la tienda?
Sí, pero debes actualizar también el archivo settings.inc.php con la nueva contraseña. Si no lo haces, PrestaShop no podrá conectar.
3. ¿Por qué aparece el error después de una actualización de Plesk?
A veces las actualizaciones de Plesk pueden cambiar la configuración de red o reiniciar servicios. Verifica que MySQL esté funcionando y que las credenciales sigan siendo válidas.
4. ¿El error puede deberse a un plugin o tema?
Sí, aunque es menos común. Algunos módulos mal codificados pueden sobreescribir la configuración de conexión. Prueba desactivando todos los módulos (renombrando la carpeta modules temporalmente) para ver si el error persiste.
5. ¿Qué significa "Access denied for user 'usuario'@'localhost'"?
Significa que el usuario y contraseña no coinciden, o que el usuario no tiene permisos para acceder desde esa IP. Revisa las credenciales en settings.inc.php y los permisos en Plesk.
6. ¿Puedo usar un gestor como phpMyAdmin para probar la conexión?
Sí. Desde Plesk, puedes acceder a phpMyAdmin para tu base de datos. Si puedes iniciar sesión con las mismas credenciales, el problema está en PrestaShop. Si no, el problema está en la base de datos.
Consejos finales para evitar el error en el futuro
- Realiza copias de seguridad periódicas de tu base de datos y archivos.
- Anota las credenciales de la base de datos en un lugar seguro.
- No cambies la contraseña sin actualizar el archivo
settings.inc.php. - Mantén PrestaShop y sus módulos actualizados para evitar incompatibilidades.
- Si usas Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106. En ese caso, los pasos son similares, pero la interfaz cambia ligeramente.
Resumen de pasos rápidos
- Revisa el mensaje de error exacto.
- Accede a Plesk y verifica los datos de la base de datos.
- Edita
settings.inc.phpcon las credenciales correctas. - Verifica permisos del usuario en Plesk.
- Reinicia MySQL si es posible.
- Comprueba la versión de PHP.
- Si todo falla, restaura una copia de seguridad.
Con estos pasos podrás solucionar PrestaShop Plesk y recuperar tu tienda en pocos minutos. Si el problema persiste, no dudes en contactar a tu proveedor de hosting o a un técnico especializado. ¡Buena suerte!
