Solución al error 'No se puede conectar con la base de datos' en PrestaShop (DirectAdmin)
¿Qué significa exactamente este error?
Cuando visitas tu tienda PrestaShop y ves el mensaje "No se puede conectar con la base de datos", lo primero que debes saber es que no es el fin del mundo. Este error es uno de los más comunes en el mundo del hosting 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, que es un programa que necesita leer y escribir información constantemente (productos, pedidos, clientes...), no está logrando comunicarse con el servidor donde se almacenan esos datos. Piensa en ello como si intentaras abrir una caja fuerte: si la combinación es incorrecta o la llave no gira, no podrás acceder a su contenido. Aquí te vamos a enseñar a encontrar la combinación correcta.
¿Por qué ocurre este error en PrestaShop con DirectAdmin?
El error base de datos PrestaShop puede aparecer por varias razones. Las más frecuentes cuando trabajas con un panel de control como DirectAdmin son:
- Cambios en la contraseña de la base de datos (ya sea que la hayas cambiado tú o que el sistema la haya renovado).
- El usuario de la base de datos no tiene los permisos correctos sobre la base de datos.
- El archivo de configuración de PrestaShop (parameters.php) contiene datos incorrectos.
- El servidor de base de datos está caído o sobrecargado (esto es menos común, pero puede pasar).
- La base de datos ha alcanzado su límite de espacio o el número máximo de conexiones simultáneas.
Vamos a ir paso a paso, de lo más simple a lo más complejo, para que puedas resolverlo.
Paso 1: Verifica que el servidor de base de datos esté funcionando
Antes de tocar nada, comprueba si el problema es general o solo afecta a tu tienda. Puedes hacer una prueba rápida:
- Accede a tu panel de DirectAdmin (normalmente en
https://tudominio.com:2222). - Busca la sección "MySQL Management" o "Administración de MySQL".
- Si ves un listado de tus bases de datos, intenta crear una nueva base de datos de prueba o simplemente reinicia el servicio MySQL si tienes esa opción (en algunos planes de hosting, esta opción solo está disponible para el administrador del servidor).
[INFO] Si no ves la opción de reiniciar, no te preocupes. La mayoría de las veces el servidor de bases de datos está funcionando correctamente, y el problema está en la configuración de tu tienda. Sigue leyendo.
Paso 2: Revisa el archivo de configuración de PrestaShop (el más importante)
Este es el paso que resuelve el 90% de los casos. PrestaShop guarda todos los datos de conexión en un archivo llamado parameters.php. Si este archivo tiene una contraseña antigua o un nombre de usuario incorrecto, obtendrás el error base de datos PrestaShop.
¿Cómo encontrar el archivo?
- Accede a tu cuenta de hosting a través de un cliente FTP como FileZilla o mediante el Administrador de Archivos de DirectAdmin.
- Navega hasta la carpeta raíz de tu tienda. Normalmente es
public_htmlo una subcarpeta comopublic_html/tienda. - Busca la carpeta
app/config/. - Dentro de ella, encontrarás el archivo
parameters.php.
¿Qué debo buscar en el archivo?
Abre el archivo con un editor de texto (el Bloc de notas de Windows o cualquier editor avanzado). Busca las líneas que contienen información sobre la base de datos. Se verán más o menos así:
'database_host' => 'localhost',
'database_name' => 'tu_usuario_bd',
'database_user' => 'tu_usuario_bd',
'database_password' => 'tu_contraseña_secreta',
Compara estos datos con los que tienes en DirectAdmin:
database_host: normalmente eslocalhost, pero a veces puede ser una dirección IP o un nombre de servidor comomysql.tudominio.com. En DirectAdmin, si tienes un plan compartido, suele serlocalhost.database_nameydatabase_user: en DirectAdmin, estos nombres suelen tener un prefijo con tu nombre de usuario. Por ejemplo, si tu usuario de DirectAdmin esjuan123, la base de datos podría llamarsejuan123_prestashop. Asegúrate de que el nombre enparameters.phpcoincida EXACTAMENTE, incluyendo mayúsculas y minúsculas.database_password: este es el punto más crítico. Si has cambiado la contraseña de la base de datos en DirectAdmin, el archivo seguirá teniendo la vieja.
¿Cómo solucionarlo?
- Ve a DirectAdmin y busca "MySQL Management".
- Localiza tu base de datos y haz clic en el icono de editar o en el nombre.
- Verás el nombre de la base de datos, el usuario y un campo para "Cambiar contraseña". Si no la recuerdas, puedes generar una nueva.
- Copia la nueva contraseña.
- Vuelve al archivo
parameters.phpy pega la nueva contraseña en la línea'database_password' =>. - Guarda el archivo y súbelo de nuevo al servidor (si lo estabas editando en local).
[WARNING] Si editas el archivo desde el Administrador de Archivos de DirectAdmin, asegúrate de guardar los cambios antes de salir. Un error típico es editar el archivo y no guardarlo correctamente, lo que puede corromper la configuración.
Paso 3: Verifica los permisos del usuario de la base de datos
A veces, la contraseña es correcta, pero el usuario no tiene "permiso" para usar esa base de datos. Esto es como tener la llave de un coche, pero el coche es de otra persona.
- En DirectAdmin, ve a "MySQL Management".
- Busca tu base de datos y haz clic en "Edit" o "Permissions".
- Verás una lista de usuarios que pueden acceder a esa base de datos. Asegúrate de que tu usuario (el que aparece en
parameters.php) esté marcado con TODOS los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). - Si no está, selecciona todos los privilegios y guarda los cambios.
Paso 4: El problema de la caché y los archivos temporales
PrestaShop es muy "cachetero". A veces, aunque hayas corregido la configuración, sigue mostrando el error porque tiene guardada una versión antigua de los datos en su caché.
Para solucionarlo:
- Accede a tu servidor por FTP o Administrador de Archivos.
- Busca la carpeta
var/cacheen la raíz de tu instalación de PrestaShop. - Dentro de ella, verás subcarpetas como
devyprod. Borra TODO el contenido de ambas carpetas (los archivos, no las carpetas en sí). - Si no puedes borrarlos, también puedes intentar renombrar la carpeta
var/cacheavar/cache_oldy crear una nueva carpeta vacía llamadacache. Esto fuerza a PrestaShop a crear una caché nueva.
[TIP] Este paso es mágico. Muchas veces, el error de conexión BD PrestaShop desaparece simplemente limpiando la caché, incluso si el problema original era otra cosa.
Paso 5: Comprueba si el problema es de tu conexión a Internet o del servidor
Si has hecho todo lo anterior y sigues con el problema, es hora de descartar que el fallo sea externo.
- Prueba desde otro dispositivo: Abre tu tienda desde tu móvil con datos móviles (sin WiFi). Si funciona, el problema puede ser tu red local o tu IP.
- Prueba con una herramienta externa: Usa un servicio como "Down For Everyone Or Just Me" para ver si tu tienda está caída para todo el mundo o solo para ti.
Paso 6: Contacta con tu proveedor de hosting (DirectAdmin)
Si has llegado hasta aquí y nada funciona, es hora de pedir ayuda profesional. El soporte de tu hosting (el que te da acceso a DirectAdmin) puede ver cosas que tú no puedes ver, como el estado de los logs del servidor o si hay un error de configuración global.
Cuando contactes con ellos, diles esto exactamente:
"Hola, mi tienda PrestaShop muestra el error 'No se puede conectar con la base de datos'. Ya he verificado el archivo
parameters.phpy los permisos del usuario en DirectAdmin, pero el problema persiste. ¿Podéis revisar los logs de errores de MySQL para ver qué está fallando?"
Ellos podrán ver en los registros si el error es por contraseña incorrecta, por un problema de conexión desde el servidor web al servidor de bases de datos, o si hay algún bloqueo.
Preguntas Frecuentes (FAQ) sobre este error
¿He perdido mis datos con este error?
No. Este error solo impide que tu tienda se muestre, pero los datos en la base de datos están a salvo. Una vez que arregles la conexión, todo volverá a estar como antes.
¿Puedo evitar que esto vuelva a pasar?
Sí. Te recomiendo:
- Anota tus contraseñas en un gestor de contraseñas.
- No cambies la contraseña de la base de datos a menos que sea absolutamente necesario.
- Haz copias de seguridad periódicas de tu base de datos desde DirectAdmin.
¿Qué pasa si mi hosting usa otro panel como cPanel o Syspanel?
Este tutorial está enfocado en DirectAdmin, que es uno de los más comunes. Si tu hosting usa Syspanel (antes conocido como HestiaCP), el procedimiento es muy similar, pero el acceso al panel es diferente. Para Syspanel, la URL de acceso suele ser https://tudominio.com:2106. La lógica de buscar el archivo parameters.php y verificar los datos de conexión es exactamente la misma.
¿Es un error peligroso para la seguridad de mi tienda?
No en sí mismo. Es un error de configuración. Sin embargo, si el error aparece porque alguien ha cambiado la contraseña de tu base de datos sin tu permiso, entonces sí deberías revisar la seguridad de tu cuenta de hosting. Cambia todas tus contraseñas (la de DirectAdmin, la del FTP y la de la base de datos).
Conclusión final
El error "No se puede conectar con la base de datos" en PrestaShop es un dolor de cabeza, pero es 100% solucionable. La clave está en la paciencia y en seguir los pasos de forma metódica: primero verifica los datos en parameters.php, luego los permisos en DirectAdmin, limpia la caché y, si todo falla, contacta con tu soporte técnico.
Recuerda que el error base de datos PrestaShop rara vez significa que has perdido información. Es un problema de comunicación entre dos partes (el programa y el almacén de datos). Con un poco de atención, tendrás tu tienda funcionando de nuevo en cuestión de minutos.
Si este artículo te ha resultado útil, compártelo con otros usuarios que puedan estar pasando por lo mismo. Y no dudes en consultar la documentación oficial de PrestaShop para profundizar en la configuración de tu tienda. ¡Buena suerte!
