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

Cómo arreglar el error de conexión a la base de datos en PrestaShop con DirectAdmin

Actualizado el 28 de septiembre de 2025

¿Qué significa el error de conexión a la base de datos en PrestaShop?

Cuando visitas tu tienda PrestaShop y en lugar de ver tu catálogo aparece un mensaje similar a "Error de conexión a la base de datos" o "PrestaShop no conecta BD", no debes entrar en pánico. Este es uno de los problemas más comunes en entornos de hosting, y en la mayoría de los casos tiene una solución sencilla.

Este error indica que tu tienda no puede comunicarse con el servidor MySQL/MariaDB donde se almacenan tus productos, clientes y pedidos. Básicamente, PrestaShop intenta abrir la puerta de su almacén de datos, pero o la llave no es la correcta, o la puerta está cerrada con un candado diferente.

A continuación, te explicaré paso a paso cómo solucionar el error BD PrestaShop cuando tu hosting utiliza el panel de control DirectAdmin, uno de los más populares y completos del mercado.

Causas más frecuentes del error "PrestaShop no conecta BD"

Antes de lanzarnos a modificar archivos, es importante entender qué puede estar fallando. Estas son las causas más habituales:

  1. Credenciales incorrectas: El archivo parameters.php tiene un usuario, contraseña o nombre de base de datos que no coincide con los reales.
  2. Cambio de contraseña: Recientemente cambiaste la contraseña de tu base de datos en DirectAdmin y no actualizaste el archivo de configuración de PrestaShop.
  3. Base de datos eliminada o corrupta: Por error, se eliminó la BD o alguna tabla está dañada.
  4. Servidor MySQL caído: El servicio de bases de datos se detuvo en el servidor.
  5. Límite de conexiones alcanzado: Hay demasiadas conexiones simultáneas y el servidor rechaza nuevas peticiones.
  6. Permisos de usuario incorrectos: El usuario de la BD no tiene privilegios sobre la base de datos asignada.
  7. IP del servidor bloqueada: El hosting tiene un firewall que bloquea las conexiones a MySQL.

Vamos a revisar cada una de estas causas y cómo resolverlas desde DirectAdmin.

Paso 1: Verifica que el servicio MySQL/MariaDB esté activo

Lo primero que debemos comprobar es si el motor de base de datos está funcionando. En DirectAdmin, este proceso es muy visual.

  1. Inicia sesión en tu panel de DirectAdmin.
  2. Busca la sección "Administración de servicios" o "System Services". Dependiendo de la versión, puede estar en el menú lateral o en la parte inferior.
  3. Localiza "MySQL" o "MariaDB" y verifica que su estado sea "Running" o "Up".

Si el servicio está detenido, haz clic en el botón "Start" o "Iniciar". Espera unos segundos y vuelve a intentar cargar tu tienda.

[WARNING] Si el servicio no arranca o se detiene solo, es posible que haya un problema más profundo en el servidor. En ese caso, contacta con tu proveedor de hosting, ya que puede ser necesario reiniciar el servicio desde la raíz.

Paso 2: Revisa las credenciales en el archivo parameters.php

PrestaShop guarda la configuración de conexión a la base de datos en un archivo llamado parameters.php. Este archivo se encuentra en la carpeta app/config/ de tu instalación.

Para acceder a él, necesitas un administrador de archivos. DirectAdmin incluye uno integrado.

  1. Entra en tu panel de DirectAdmin.
  2. Ve a la sección "Administrador de archivos" (File Manager).
  3. Navega hasta la carpeta donde tienes instalado PrestaShop. Normalmente es public_html o una subcarpeta.
  4. Abre la carpeta app y luego config.
  5. Busca el archivo parameters.php y haz clic derecho para "Editar".

Dentro del archivo, busca el bloque que dice:

'database_host' => 'localhost',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',

Comprueba que estos cuatro valores coincidan exactamente con los que tienes en DirectAdmin.

Cómo obtener los datos correctos desde DirectAdmin

  1. En DirectAdmin, busca la sección "Gestión de MySQL" o "MySQL Management".
  2. Verás una lista de tus bases de datos y los usuarios asociados.
  3. Anota el nombre exacto de la base de datos, el usuario y asegúrate de tener la contraseña actual.

[TIP] En muchos hostings, el nombre de la base de datos y el usuario llevan un prefijo con tu nombre de cuenta. Por ejemplo, si tu cuenta se llama cliente1, la BD podría llamarse cliente1_prestashop. Es un error muy común copiar solo el nombre sin el prefijo.

Actualiza el archivo parameters.php

Si los datos no coinciden, corrígelos en el archivo y guarda los cambios. Después, intenta cargar tu tienda nuevamente.

[INFO] Después de editar parameters.php, es recomendable borrar la carpeta var/cache (o var/cache/prod y var/cache/dev) para que PrestaShop no use datos antiguos. Puedes hacerlo desde el administrador de archivos, eliminando el contenido de esas carpetas.

Paso 3: Verifica que el usuario de la base de datos tenga permisos completos

A veces las credenciales son correctas, pero el usuario no tiene todos los privilegios sobre la base de datos. Esto puede pasar si se creó un usuario nuevo para la BD y no se le asignaron los permisos.

  1. En DirectAdmin, ve a "Gestión de MySQL".
  2. Busca la base de datos que usa tu PrestaShop.
  3. Haz clic en el icono de "Editar" o "Permisos" junto a la base de datos.
  4. Verás una lista de usuarios que tienen acceso a esa BD. Asegúrate de que tu usuario esté marcado con TODOS los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
  5. Si no tiene todos los permisos, selecciónalos y guarda los cambios.

[WARNING] Si no ves tu usuario en la lista de permisos, significa que el usuario no está vinculado a esa base de datos. Deberás asignarlo desde el menú de gestión de usuarios de MySQL.

Paso 4: Cambia la contraseña de la base de datos (y actualiza PrestaShop)

Si sospechas que la contraseña es incorrecta o ha sido cambiada, la solución más limpia es generar una nueva desde DirectAdmin y actualizarla en PrestaShop.

  1. En DirectAdmin, ve a "Gestión de MySQL".
  2. Localiza tu base de datos y haz clic en "Cambiar contraseña".
  3. Introduce una contraseña nueva y segura (puedes usar el generador de contraseñas del propio panel).
  4. Guarda los cambios.
  5. Ahora, edita el archivo parameters.php como vimos en el Paso 2 y actualiza el campo 'database_password' con la nueva contraseña.
  6. Guarda y borra la carpeta var/cache.

[TIP] Usa contraseñas largas con combinación de letras, números y símbolos. Evita caracteres especiales como ', " o \ porque pueden romper el archivo PHP.

Paso 5: Comprueba el archivo settings.inc.php (versiones antiguas)

Si tu PrestaShop es anterior a la versión 1.7, la configuración de la base de datos se encuentra en el archivo config/settings.inc.php, en la raíz de tu instalación.

El proceso es el mismo que con parameters.php:

  1. Abre el archivo settings.inc.php.
  2. Busca las constantes DB_NAME, DB_USER, DB_PASSWD y DB_SERVER.
  3. Verifica que coincidan con los datos de DirectAdmin.
  4. Guarda los cambios.

[INFO] Si tu tienda es muy antigua (PrestaShop 1.6 o inferior), también es recomendable revisar si existe un archivo config/config.inc.php que tenga definiciones de conexión.

Paso 6: Verifica que el host de la base de datos sea "localhost"

En la mayoría de los casos, el servidor de base de datos está en el mismo equipo que el sitio web, por lo que el valor correcto es localhost o 127.0.0.1.

Sin embargo, en algunos hostings con DirectAdmin, el servidor MySQL puede tener un nombre distinto, como mysql.tudominio.com o una IP específica.

  1. En DirectAdmin, ve a la sección "Información del servidor" o "Server Info".
  2. Busca el "Host MySQL" o "MySQL Server".
  3. Si aparece algo distinto a localhost, anota ese valor y úsalo en el archivo de configuración de PrestaShop.

[WARNING] Si usas localhost y no funciona, prueba con la IP 127.0.0.1. A veces el servidor tiene configurado un socket diferente.

Paso 7: Revisa los límites de conexiones y el firewall

Si tu tienda recibe mucho tráfico o tienes muchos procesos en segundo plano, es posible que el servidor MySQL alcance el límite de conexiones simultáneas.

  1. En DirectAdmin, busca la sección "Configuración de MySQL" o "MySQL Settings".
  2. Revisa el parámetro max_connections. Si es muy bajo (por ejemplo, 30), considera aumentarlo.
  3. Si no puedes cambiarlo desde el panel, contacta con tu proveedor de hosting.

Además, algunos firewalls bloquean conexiones externas a MySQL. Si tu PrestaShop se conecta a una base de datos en otro servidor, asegúrate de que el puerto 3306 esté abierto en ambos lados.

Paso 8: Repara las tablas de la base de datos

Si la base de datos está dañada, PrestaShop puede mostrar el error de conexión aunque las credenciales sean correctas.

  1. En DirectAdmin, ve a "Gestión de MySQL".
  2. Haz clic en "phpMyAdmin" junto a tu base de datos.
  3. Selecciona todas las tablas (puedes usar el checkbox superior).
  4. En el menú desplegable, elige "Reparar" o "Repair".
  5. Espera a que termine el proceso y vuelve a intentar cargar tu tienda.

[INFO] También puedes ejecutar una consulta SQL directamente en phpMyAdmin: REPAIR TABLE nombre_tabla;. Si no sabes cuál está dañada, repara todas.

Paso 9: Borra la caché de PrestaShop

Una caché corrupta puede causar errores extraños, incluido el de conexión a la base de datos.

  1. Desde el administrador de archivos de DirectAdmin, navega a la carpeta var/cache de tu PrestaShop.
  2. Elimina todo el contenido de las carpetas prod y dev, pero no las carpetas en sí.
  3. Si tu PrestaShop es antiguo, borra el contenido de la carpeta cache en la raíz.

[TIP] Si no tienes acceso al administrador de archivos, puedes borrar la caché manualmente creando un archivo PHP temporal en el servidor con el siguiente código:

<?php
function removeDir($dir) {
    $items = scandir($dir);
    foreach ($items as $item) {
        if ($item == '.' || $item == '..') continue;
        $path = $dir . '/' . $item;
        is_dir($path) ? removeDir($path) : unlink($path);
    }
    rmdir($dir);
}
removeDir('var/cache/prod');
removeDir('var/cache/dev');
echo 'Caché eliminada correctamente';

Guárdalo como borrar_cache.php en la raíz, ejecútalo desde el navegador y luego elimínalo.

Paso 10: Contacta con tu proveedor de hosting

Si después de todos estos pasos el error persiste, es posible que haya un problema a nivel de servidor que solo tu proveedor puede solucionar.

Cuando contactes con soporte, ten a mano esta información:

  • Captura de pantalla del error exacto.
  • Fecha y hora en que comenzó el problema.
  • Cambios recientes que hayas realizado (instalaciones, actualizaciones, cambios de contraseña).
  • Resultado de las comprobaciones que ya hiciste.

[WARNING] No compartas tu contraseña de la base de datos con el soporte por correo electrónico. En su lugar, cámbiala temporalmente si necesitas que ellos la prueben, y cámbiala de nuevo después.

Preguntas frecuentes (FAQ)

¿Por qué PrestaShop no conecta BD después de mover el sitio a otro hosting?

Al mover tu tienda, es muy común olvidar actualizar el archivo parameters.php con los nuevos datos de la base de datos del destino. Revisa los pasos 2 y 4 de esta guía.

¿Qué pasa si cambié la contraseña de la base de datos y ahora no funciona?

Es el error más típico. Debes actualizar la contraseña en el archivo parameters.php (o settings.inc.php). Sigue el Paso 4 para hacerlo correctamente.

¿Puedo usar un plugin para solucionar este error?

No existe un plugin mágico. La solución siempre pasa por corregir la configuración manualmente o reparar la base de datos. Los plugins de caché pueden ayudar a prevenir, pero no a solucionar el error de conexión.

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

Es poco frecuente, pero si un atacante modificó tus archivos de configuración, es posible. Revisa que el archivo parameters.php no tenga código extraño y que tus contraseñas sean seguras.

¿Cuánto tiempo se tarda en solucionar este error?

En la mayoría de los casos, entre 10 y 30 minutos si sigues esta guía paso a paso. Si el problema es del servidor, puede tardar más, dependiendo del soporte de tu hosting.

Conclusión

El error de conexión a la base de datos en PrestaShop con DirectAdmin es un problema molesto, pero casi siempre tiene una solución clara y accesible para cualquier usuario, incluso sin conocimientos técnicos avanzados.

La clave está en revisar sistemáticamente: primero el estado del servicio MySQL, luego las credenciales en los archivos de configuración, y finalmente los permisos y la salud de la base de datos. Con esta guía, tendrás todas las herramientas para solucionar el error BD PrestaShop por ti mismo y en poco tiempo.

Recuerda siempre hacer una copia de seguridad antes de modificar archivos de configuración. Y si en algún momento te sientes perdido, no dudes en contactar con tu proveedor de hosting: para eso están.

[INFO] Si tu hosting usa el panel Syspanel (antes conocido como HestiaCP), el puerto de acceso es el 2106. Aunque esta guía está enfocada en DirectAdmin, muchos de los pasos son similares en otros paneles de control. La estructura de archivos de PrestaShop es la misma, solo cambia la interfaz desde la que gestionas las bases de datos.

Espero que esta guía te haya sido de gran ayuda y que tu tienda vuelva a estar operativa en cuestión de minutos.

¿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