Cómo solucionar el error 'Database connection failed' en PrestaShop (Plesk)
¿Qué significa realmente el error "Database connection failed" en PrestaShop?
Cuando intentas acceder a tu tienda online y te aparece el temido mensaje "Database connection failed", es normal que sientas un poco de pánico. Pero respira hondo: este error es uno de los más comunes en PrestaShop y, en la gran mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto en programación.
Este mensaje indica que PrestaShop no puede establecer comunicación con la base de datos donde se almacenan tus productos, pedidos, clientes y configuración. Piensa en ello como si intentaras abrir una tienda física pero la puerta del almacén estuviera bloqueada: la tienda (tu web) existe, pero no puede acceder a la mercancía (los datos).
En este artículo, te voy a guiar paso a paso para que puedas arreglar PrestaShop cuando aparece este error, especialmente si tu hosting utiliza el panel de control Plesk, que es muy popular entre los proveedores de hosting. Vamos a abordarlo desde lo más básico hasta lo más técnico, siempre con un lenguaje claro y directo.
Causas más comunes del error de conexión a la base de datos
Antes de lanzarnos a solucionar el problema, es importante entender qué lo provoca. Identificar la causa raíz te ahorrará mucho tiempo. Las razones más frecuentes son:
- Credenciales incorrectas: El archivo de configuración de PrestaShop tiene datos de acceso a la base de datos que no coinciden con los reales.
- La base de datos no existe o ha sido eliminada: A veces, al migrar o restaurar copias de seguridad, la base de datos se pierde.
- El servidor de base de datos está caído: El servicio MySQL o MariaDB no está corriendo en el servidor.
- Cambios en la contraseña: Si has cambiado la contraseña de tu base de datos desde Plesk, PrestaShop sigue usando la antigua.
- Problemas de permisos: El usuario de la base de datos no tiene permisos para acceder a ella desde el servidor.
- Archivos corruptos: Algún archivo de configuración se ha dañado o está incompleto.
Primeros pasos: diagnóstico rápido
Cuando veas el prestashop database connection failed, lo primero que debes hacer es mantener la calma y seguir estos pasos de diagnóstico:
Verifica si es un problema general del servidor
Accede a tu panel de Plesk (normalmente en https://tudominio.com:8443 o la URL que te haya dado tu proveedor). Una vez dentro, mira si otros sitios web o aplicaciones que tengas en el mismo hosting funcionan correctamente. Si todo está caído, el problema es del servidor y deberás contactar con tu proveedor de hosting.
Comprueba el estado del servicio MySQL
En Plesk, ve a la sección "Herramientas y configuración" y busca la opción de "Servicios" o "Gestión de servicios". Ahí podrás ver si el servicio MySQL/MariaDB está activo. Si aparece como detenido, intenta iniciarlo. Si no puedes, contacta con soporte.
La solución más común: revisar el archivo de configuración
La causa más habitual del error conexion base datos prestashop es que las credenciales en el archivo de configuración no son correctas. PrestaShop guarda estos datos en un archivo llamado parameters.php que se encuentra en la carpeta app/config/ de tu instalación.
Cómo editar el archivo parameters.php
-
Accede a tu hosting por FTP o a través del administrador de archivos de Plesk. Puedes usar un cliente FTP como FileZilla o la herramienta integrada de Plesk llamada "Administrador de archivos".
-
Navega hasta la carpeta: Localiza la ruta
tu_web/app/config/dentro de la raíz de tu PrestaShop. -
Descarga y abre el archivo: Busca el archivo
parameters.php, descárgalo y ábrelo con un editor de texto plano (como Notepad++ o Sublime Text). Nunca uses Word o editores que añadan formato. -
Localiza los datos de conexión: Dentro del archivo, busca la sección que contiene los parámetros de la base de datos. Se verá algo así:
'database_host' => 'localhost',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
-
Comprueba los datos: Ahora ve a Plesk y localiza la base de datos asociada a tu PrestaShop. En Plesk, ve a la sección "Bases de datos" dentro de tu dominio. Ahí verás el nombre exacto de la base de datos, el usuario y podrás cambiar la contraseña.
-
Actualiza el archivo: Si los datos no coinciden, corrígelos en el archivo
parameters.php. Guarda los cambios y sube el archivo de nuevo al servidor, sobrescribiendo el anterior.
[WARNING] Antes de modificar cualquier archivo, asegúrate de hacer una copia de seguridad del original. Si algo sale mal, podrás restaurarlo fácilmente.
Cómo cambiar la contraseña de la base de datos en Plesk
Si sospechas que la contraseña ha cambiado o no la recuerdas, lo más seguro es restablecerla desde Plesk:
- En Plesk, entra en "Bases de datos" dentro de tu dominio.
- Localiza la base de datos de PrestaShop y haz clic en el icono de "Cambiar contraseña" (normalmente un icono de llave o candado).
- Introduce una nueva contraseña segura y guarda los cambios.
- Ahora actualiza el archivo
parameters.phpcon esta nueva contraseña.
[INFO] Recuerda que la contraseña debe contener al menos 8 caracteres, incluyendo letras mayúsculas, minúsculas y números para que Plesk la acepte.
Verificar que la base de datos existe
Otra causa frecuente del plesk prestashop error es que la base de datos se haya eliminado accidentalmente o que el nombre en el archivo de configuración no coincida con el real.
Pasos para verificar la existencia de la base de datos
- En Plesk, ve a "Bases de datos" en tu dominio.
- Comprueba si aparece una base de datos con el mismo nombre que tienes en el archivo
parameters.php. - Si no existe, tendrás que crearla. Haz clic en "Añadir base de datos", introduce el nombre exacto que aparece en tu configuración y crea un usuario con todos los privilegios.
- Si la base de datos existe pero no tiene tablas, significa que la instalación está incompleta. En ese caso, deberás restaurar una copia de seguridad o reinstalar PrestaShop.
El problema del host de la base de datos: localhost vs. dirección IP
A veces el error no está en las credenciales sino en el host de la base de datos. En muchos servidores Plesk, el host no es localhost sino una dirección IP o un nombre de servidor específico.
Cómo saber cuál es el host correcto
- En Plesk, ve a "Bases de datos" y haz clic en el nombre de tu base de datos.
- Busca la sección de "Parámetros de conexión" o "Información de acceso".
- Ahí verás el host correcto, que suele ser algo como
localhosto una IP tipo127.0.0.1, pero en servidores compartidos puede ser un nombre comomysql.tudominio.com.
Actualiza el campo database_host en tu archivo parameters.php con el valor que aparece en Plesk.
Comprobar los permisos del usuario de la base de datos
En algunos casos, el usuario de la base de datos existe y la contraseña es correcta, pero el usuario no tiene permisos para acceder desde el servidor donde está alojado PrestaShop.
Cómo verificar los permisos en Plesk
- En la sección "Bases de datos", haz clic en el nombre de la base de datos.
- Busca la pestaña o sección de "Usuarios".
- Asegúrate de que el usuario que usas en PrestaShop está listado y tiene todos los privilegios marcados (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
- Si no tiene permisos, edítalos y marca la casilla de "Todos los privilegios".
[INFO] En Plesk, los usuarios de bases de datos suelen tener un prefijo con el nombre del dominio, por ejemplo miweb_usuariodb. Asegúrate de usar el nombre completo en el archivo de configuración.
Solución avanzada: reparar la conexión usando PHPMyAdmin
Si todo lo anterior no funciona, podemos intentar acceder directamente a la base de datos para comprobar que todo está en orden.
Acceso a PHPMyAdmin desde Plesk
- En Plesk, ve a "Bases de datos" y haz clic en el nombre de tu base de datos.
- Busca el botón de "PHPMyAdmin" o "Administrar". Esto abrirá una interfaz web donde podrás ver todas las tablas.
- Si PHPMyAdmin abre correctamente y ves las tablas de PrestaShop (como
ps_products,ps_orders, etc.), significa que la base de datos está bien y el problema está en la configuración de PrestaShop. - Si PHPMyAdmin también te da error, el problema es del servidor de bases de datos.
Cuando nada funciona: restaurar una copia de seguridad
Si has probado todo lo anterior y el prestashop database connection failed persiste, es hora de restaurar una copia de seguridad reciente.
Cómo restaurar la base de datos en Plesk
- Ve a "Bases de datos" en Plesk.
- Selecciona tu base de datos y haz clic en "Copias de seguridad".
- Si tienes una copia de seguridad reciente, haz clic en "Restaurar".
- Si no tienes copias en Plesk, pero sí un archivo
.sqlde tu base de datos, puedes importarlo desde PHPMyAdmin o usando la función de "Importar" de Plesk.
Restaurar también los archivos
No olvides que los archivos de PrestaShop también pueden estar corruptos. Si tienes una copia de seguridad completa (archivos + base de datos), restaura ambos para asegurarte de que todo vuelve a estar sincronizado.
Prevención: cómo evitar futuros errores de conexión
Una vez que hayas solucionado el problema, es importante tomar medidas para que no vuelva a ocurrir. Aquí tienes algunas recomendaciones:
- Realiza copias de seguridad periódicas: Configura copias automáticas en Plesk tanto de archivos como de bases de datos.
- Anota tus credenciales: Guarda en un lugar seguro el nombre de la base de datos, usuario y contraseña.
- No cambies contraseñas sin actualizar PrestaShop: Si cambias la contraseña de la base de datos, actualiza inmediatamente el archivo
parameters.php. - Mantén PrestaShop actualizado: Las versiones antiguas pueden tener bugs que causen errores de conexión.
- Monitoriza el estado del servidor: Plesk te permite configurar alertas si algún servicio se detiene.
Preguntas frecuentes (FAQ)
¿Por qué me aparece este error después de una migración?
Las migraciones son la causa número uno de este error. Al mover tu tienda a un nuevo servidor, las credenciales y rutas cambian. Asegúrate de actualizar el archivo parameters.php con los datos del nuevo hosting.
¿Puedo solucionar este error sin acceso a Plesk?
Si no tienes acceso a Plesk, puedes intentar acceder por FTP y modificar el archivo parameters.php, pero necesitarás las credenciales de la base de datos que te proporcione tu proveedor de hosting. Sin estos datos, será imposible.
¿El error puede deberse a un ataque de hackers?
En casos raros, un ataque puede modificar el archivo de configuración. Si sospechas de un ataque, cambia todas tus contraseñas y contacta con tu proveedor de hosting.
¿Cuánto tiempo se tarda en arreglar este error?
Si el problema son las credenciales, puedes solucionarlo en menos de 10 minutos. Si hay que restaurar copias de seguridad, puede llevar más tiempo, dependiendo del tamaño de tu tienda.
¿Debo contratar a un profesional?
Si después de seguir todos estos pasos el error persiste, puede que haya un problema más profundo en el servidor. En ese caso, contactar con un profesional o con el soporte técnico de tu hosting es la mejor opción.
Conclusión final
El error "Database connection failed" en PrestaShop es un problema molesto pero casi siempre solucionable. La clave está en revisar metódicamente cada uno de los puntos que hemos visto: credenciales, existencia de la base de datos, permisos y estado del servidor.
Recuerda que la paciencia es tu mejor aliada. No cambies varias cosas a la vez, haz una modificación, prueba, y si no funciona, pasa a la siguiente. Con un poco de método, podrás arreglar prestashop y volver a tener tu tienda online funcionando en poco tiempo.
[TIP] Si tu hosting utiliza el panel Syspanel (anteriormente conocido como HestiaCP), el proceso es muy similar, pero el acceso al panel se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Las opciones de bases de datos y archivos son equivalentes a las de Plesk.
Espero que esta guía te haya sido de gran ayuda. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte a resolverla. ¡Buena suerte con tu tienda online!
