🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'No se puede conectar a la base de datos' en PrestaShop (DirectAdmin)

Actualizado el 26 de diciembre de 2025

¿Qué significa exactamente “No se puede conectar a la base de datos” en PrestaShop?

Cuando tu tienda PrestaShop muestra el mensaje “No se puede conectar a la base de datos”, significa que el archivo de configuración de PrestaShop (parameters.php o settings.inc.php) no ha podido establecer una comunicación con el servidor MySQL o MariaDB donde se guardan todos tus productos, pedidos y clientes.

Este error es uno de los más temidos por los administradores de tiendas online, pero la buena noticia es que en el 90% de los casos tiene una solución sencilla. No necesitas ser un experto en servidores para resolverlo, solo seguir los pasos que te explicamos a continuación de forma clara y ordenada.

En este artículo, vamos a centrarnos en entornos DirectAdmin, uno de los paneles de control más utilizados en el hosting compartido y VPS. Si tu tienda está alojada en un servidor con DirectAdmin, esta guía está hecha a tu medida.


¿Por qué aparece este error en PrestaShop con DirectAdmin?

Antes de lanzarnos a solucionar el error base de datos prestashop, es importante entender las causas más comunes. Esto te ayudará a identificar rápidamente el origen del problema:

Causa probableDescripción
Cambio de contraseña de la BDAlguien (tú, tu agencia o un atacante) cambió la contraseña de la base de datos y el archivo de configuración sigue con la antigua.
Usuario de BD incorrectoEl usuario que aparece en la configuración no tiene permisos o no existe.
Servidor MySQL caídoEl servicio de bases de datos se detuvo o está reiniciándose en el servidor.
Archivo de configuración corruptoUna edición manual o una actualización fallida dejó el archivo incompleto.
Límite de conexiones superadoDemasiadas conexiones simultáneas a la BD saturan el servidor.
IP bloqueada o firewallEl firewall de DirectAdmin bloquea la conexión desde tu dominio.

Paso 1: Verifica si el servidor MySQL está activo en DirectAdmin

Lo primero que debes comprobar es si el servicio de bases de datos está funcionando. En DirectAdmin, el proceso es muy visual:

  1. Accede a tu panel de DirectAdmin (normalmente en https://tu-dominio.com:2222).
  2. Busca la sección “Servicios del sistema” o “System Services” en el menú lateral.
  3. Localiza MySQL o MariaDB en la lista.
  4. Comprueba que el estado sea “Running” o “Activo”. Si aparece como detenido, haz clic en el botón para iniciarlo.

[WARNING] Si no encuentras la opción de reiniciar servicios, es porque tu plan de hosting no te lo permite. En ese caso, contacta con tu proveedor de hosting y pídeles que verifiquen el estado de MySQL. No intentes reiniciar servicios desde SSH si no sabes lo que haces, podrías causar más daños.


Paso 2: Revisa el archivo de configuración de PrestaShop

Si MySQL está activo, el siguiente paso es revisar qué datos tiene PrestaShop guardados para conectarse. Estos datos están en un archivo llamado parameters.php si tienes PrestaShop 1.7 o superior, o settings.inc.php si usas PrestaShop 1.6 o anterior.

¿Cómo encontrar el archivo?

  1. Accede a tu servidor por FTP o mediante el Administrador de archivos de DirectAdmin.
  2. Navega hasta la carpeta raíz de tu tienda, por ejemplo: public_html o public_html/mi-tienda.
  3. Busca la carpeta app/config/ (para PrestaShop 1.7+) o la carpeta config/ (para versiones antiguas).
  4. Abre el archivo correspondiente con un editor de texto plano (nada de Word).

¿Qué datos debes comprobar?

Dentro del archivo verás líneas como estas (en PrestaShop 1.7):

'database_host' => 'localhost',
'database_name' => 'tu_usuario_bd',
'database_user' => 'tu_usuario_bd',
'database_password' => 'tu_contraseña_secreta',

Verifica que estos cuatro valores coincidan exactamente con los datos de tu base de datos en DirectAdmin. Para ello:

  1. Ve a DirectAdminMySQL Management.
  2. Anota el nombre de la base de datos, el usuario y la contraseña.
  3. Compara con los valores del archivo.

[TIP] Si no recuerdas la contraseña, puedes cambiarla desde DirectAdmin en MySQL Management → selecciona la BD → Change Password. Luego actualiza el archivo parameters.php con la nueva contraseña.


Paso 3: Soluciona el error de conexión BD PrestaShop tras un cambio de contraseña

Este es el caso más común. Si has cambiado la contraseña de la base de datos desde DirectAdmin y no has actualizado PrestaShop, el error aparecerá de inmediato.

Solución paso a paso:

  1. Entra en DirectAdminMySQL Management.
  2. Localiza tu base de datos y el usuario asociado.
  3. Si necesitas cambiar la contraseña, hazlo ahora.
  4. Abre el archivo parameters.php o settings.inc.php por FTP.
  5. Sustituye la línea 'database_password' => 'aquí_tu_nueva_contraseña'.
  6. Guarda el archivo y súbelo de nuevo al servidor (sobrescribiendo el antiguo).
  7. Borra la carpeta var/cache de PrestaShop (si existe) para forzar la regeneración de la caché.

[WARNING] Al borrar la carpeta var/cache, tu tienda puede tardar unos segundos en cargar la primera vez. Es normal, no te asustes.


Paso 4: Comprueba los permisos del usuario de la base de datos

A veces el error no está en la contraseña, sino en los privilegios del usuario. Un usuario puede existir pero no tener permisos para acceder a la base de datos concreta.

Cómo verificarlo en DirectAdmin:

  1. Ve a MySQL Management.
  2. En la lista de bases de datos, busca la tuya.
  3. Haz clic en el icono de editar o privilegios.
  4. Asegúrate de que el usuario tiene todos los privilegios marcados (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
  5. Si no tiene todos, márcalos y guarda los cambios.

[INFO] En la mayoría de los casos, el usuario de la BD en DirectAdmin tiene el mismo nombre que la base de datos. Por ejemplo, si tu BD se llama usuariox_bd, el usuario será usuariox_bd. No confundas esto con el usuario de acceso a DirectAdmin.


Paso 5: Verifica si el host de la base de datos es correcto

En entornos DirectAdmin, el host de la base de datos suele ser localhost. Sin embargo, algunos proveedores usan un servidor externo como mysql.tudominio.com o una IP específica.

Qué debes hacer:

  1. Revisa la documentación de tu proveedor de hosting.
  2. Si usas un VPS con DirectAdmin, lo más habitual es localhost.
  3. Prueba a cambiar 'database_host' => 'localhost' por '127.0.0.1' (a veces funciona mejor).
  4. Guarda y prueba de nuevo.

[TIP] Si tu hosting usa un host de BD diferente, normalmente lo encontrarás en el correo de bienvenida o en el panel de cliente de tu proveedor.


Paso 6: Reinicia los servicios desde DirectAdmin (si tienes permisos)

Si todo lo anterior parece correcto y el error persiste, puede que el servicio MySQL se haya quedado en un estado extraño. Reiniciarlo suele resolver conflictos temporales.

Cómo reiniciar MySQL en DirectAdmin:

  1. Accede como administrador (o usuario con privilegios).
  2. Ve a System Services.
  3. Busca MySQL o MariaDB.
  4. Haz clic en Restart.

[WARNING] Al reiniciar MySQL, todas las bases de datos del servidor se desconectarán durante unos segundos. Si tienes otras webs en el mismo hosting, también sufrirán una microinterrupción. Hazlo en horas de baja afluencia si es posible.


Paso 7: Revisa los logs de error de MySQL

Si después de todos los pasos anteriores sigues viendo el error base de datos prestashop, necesitas más información. Los logs de MySQL te dirán exactamente qué está fallando.

Dónde encontrar los logs en DirectAdmin:

  1. Ve a DirectAdminLogsError Logs.
  2. Busca el log de MySQL o MariaDB.
  3. Descarga el archivo y ábrelo con un editor.

Los errores más comunes que verás:

  • Access denied for user 'usuario'@'localhost' → Contraseña incorrecta o usuario sin permisos.
  • Unknown database 'nombre_bd' → El nombre de la BD no existe.
  • Too many connections → Límite de conexiones alcanzado.

[INFO] Si no entiendes los logs, copia las últimas 10 líneas y envíalas a tu proveedor de hosting. Ellos podrán interpretarlas rápidamente.


Paso 8: Soluciona el error en PrestaShop 1.6 vs 1.7

Dependiendo de la versión de PrestaShop que uses, el archivo y la forma de solucionarlo varían ligeramente.

Para PrestaShop 1.6 y anteriores:

  • El archivo es config/settings.inc.php.
  • Las variables se llaman _DB_SERVER_, _DB_NAME_, _DB_USER_ y _DB_PASSWD_.
  • Después de editar, borra el archivo cache/class_index.php si existe.

Para PrestaShop 1.7 y 8.x:

  • El archivo es app/config/parameters.php.
  • Las variables están en formato de array PHP como vimos antes.
  • Borra la carpeta var/cache completa.

[TIP] Si tu tienda es muy antigua (1.6 o inferior), considera migrar a una versión más reciente. PrestaShop 1.6 ya no recibe soporte de seguridad y es un riesgo para tu negocio.


Paso 9: Comprueba si el problema es un plugin o módulo

A veces, un módulo mal configurado puede sobrecargar la conexión a la BD o modificar el archivo de configuración. Si el error apareció justo después de instalar un módulo, desactívalo.

Cómo desactivar módulos sin entrar al panel:

  1. Accede por FTP a tu tienda.
  2. Renombra la carpeta modules/nombre_del_modulo_sospechoso a nombre_del_modulo_sospechoso_backup.
  3. Prueba a cargar la tienda.
  4. Si funciona, el problema era ese módulo.

[WARNING] No borres la carpeta, solo renómbrala. Así podrás restaurarla más tarde si era necesaria.


Paso 10: ¿Y si nada funciona? Restaura una copia de seguridad

Si has seguido todos los pasos y el error persiste, la solución más rápida es restaurar una copia de seguridad reciente de tu tienda.

Cómo hacerlo en DirectAdmin:

  1. Ve a DirectAdminBackup/Restore.
  2. Busca el último backup de tu cuenta.
  3. Restaura solo los archivos de configuración (parameters.php o settings.inc.php) y la base de datos.
  4. Si no tienes backup, contacta con tu proveedor para que te ayude a recuperar los datos.

[INFO] Es fundamental tener copias de seguridad automáticas. Si no las tienes, actívalas ahora en DirectAdmin o mediante un servicio externo. Nunca sabes cuándo las vas a necesitar.


Preguntas frecuentes sobre el error de conexión a la BD en PrestaShop

¿Puedo solucionar este error sin acceso a DirectAdmin?

Sí, si tienes acceso por FTP y a phpMyAdmin, puedes editar los archivos de configuración y cambiar la contraseña desde phpMyAdmin. El proceso es similar, solo cambia la interfaz.

¿Cuánto tarda en restaurarse la tienda después de arreglar la conexión?

Si solo era un problema de credenciales, la tienda debería cargar en menos de 30 segundos. Si tardas más, borra la caché de PrestaShop y del navegador.

¿Este error puede deberse a un ataque informático?

Es posible. Si tu base de datos fue comprometida, el atacante puede haber cambiado las credenciales. Cambia todas tus contraseñas (DirectAdmin, FTP, BD) y revisa los logs de acceso.

¿Qué pasa si uso Syspanel en lugar de DirectAdmin?

Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es muy similar. La diferencia principal es que el panel se accede por el puerto 2106 (por ejemplo, https://tu-dominio.com:2106). El resto de pasos (editar archivos, comprobar permisos) son prácticamente idénticos.


Resumen final: checklist para solucionar el error

Aquí tienes una lista rápida para no perderte:

  • Verifica que MySQL está activo en DirectAdmin.
  • Comprueba que las credenciales en parameters.php son correctas.
  • Actualiza la contraseña si la has cambiado recientemente.
  • Revisa los privilegios del usuario de la BD.
  • Confirma que el host es localhost o el que indique tu proveedor.
  • Reinicia MySQL desde DirectAdmin.
  • Consulta los logs de error de MySQL.
  • Desactiva módulos sospechosos.
  • Restaura un backup si todo falla.

Con esta guía, el prestashop directadmin error debería ser cosa del pasado. Recuerda que la paciencia y la revisión metódica son tus mejores aliadas. Si después de todo el proceso sigues atascado, no dudes en contactar con el soporte de tu hosting. Ellos tienen acceso directo al servidor y podrán diagnosticar el problema en minutos.

[TIP] Para evitar futuros sustos, anota siempre las contraseñas de tus bases de datos en un gestor de contraseñas y realiza copias de seguridad semanales de tu tienda. La prevención es siempre mejor que la solución.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel