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

Solucionar el error 'No se puede conectar a la base de datos' en PrestaShop (DirectAdmin)

Actualizado el 23 de mayo de 2026

¿Qué significa el error "No se puede conectar a la base de datos" en PrestaShop?

Si estás leyendo esto, probablemente te has encontrado con un mensaje similar a este: "Error de conexión a la base de datos" o "No se puede conectar a la base de datos" al intentar acceder a tu tienda PrestaShop. No te preocupes, es uno de los errores más comunes en el mundo del hosting y, en la mayoría de los casos, tiene una solución sencilla.

Este error significa que tu instalación de PrestaShop no puede comunicarse con el servidor MySQL o MariaDB donde se almacenan todos los datos de tu tienda (productos, clientes, pedidos, configuraciones, etc.). Sin esa conexión, la tienda no puede funcionar.

En este artículo, te guiaremos paso a paso para solucionar el error base datos prestashop cuando tu sitio está alojado en un servidor con panel de control DirectAdmin. Vamos a ir desde lo más básico hasta lo más avanzado, explicándolo todo de forma clara y sin tecnicismos innecesarios.


¿Por qué ocurre este error? Causas más frecuentes

Antes de lanzarnos a solucionar el problema, es importante entender por qué ocurre. Las causas más habituales son:

  1. Credenciales incorrectas: El archivo de configuración de PrestaShop (parameters.php) tiene datos de acceso a la base de datos (usuario, contraseña, nombre de la BD) que ya no son válidos.
  2. La base de datos no existe o fue eliminada: Puede que alguien la haya borrado por error, o que se haya corrompido.
  3. El servidor de base de datos está caído: El servicio MySQL/MariaDB no está corriendo en el servidor.
  4. Cambios en la contraseña o el usuario de la BD: Si cambiaste la contraseña desde DirectAdmin y no actualizaste PrestaShop, se rompe la conexión.
  5. Problemas de permisos: El usuario de la base de datos no tiene permisos para acceder a ella.
  6. Archivos de configuración corruptos o con rutas incorrectas: A veces, al mover la tienda de servidor, las rutas o los datos no se actualizan correctamente.
  7. Límite de conexiones agotado: En servidores compartidos, puede que haya demasiadas conexiones activas.

Paso 1: Verifica si el problema es general o solo de PrestaShop

Lo primero que debes hacer es comprobar si el servidor de base de datos está funcionando. Una forma rápida es intentar acceder a la phpMyAdmin desde tu panel de DirectAdmin.

Cómo acceder a phpMyAdmin en DirectAdmin

  1. Inicia sesión en tu panel de DirectAdmin (normalmente en https://tudominio.com:2222).
  2. Busca la sección de "MySQL Management" o "Base de datos MySQL".
  3. Dentro, encontrarás un enlace a phpMyAdmin. Haz clic en él.

Si puedes entrar en phpMyAdmin y ver tus bases de datos, significa que el servidor MySQL está funcionando y el problema está en la configuración de PrestaShop o en las credenciales.

[INFO] Si no puedes acceder a phpMyAdmin y ves un error de conexión, el problema es del servidor. En ese caso, contacta con tu proveedor de hosting, ya que puede ser un fallo temporal o un mantenimiento.


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

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

Cómo editar el archivo parameters.php

  1. Accede a tu servidor mediante FTP o el Administrador de archivos de DirectAdmin.
  2. Navega hasta la carpeta app/config/.
  3. Busca el archivo parameters.php. Es posible que también exista un archivo parameters.php.bak (una copia de seguridad).
  4. Descarga el archivo a tu ordenador o ábrelo con el editor de texto del panel.

El contenido se verá similar a este (aunque con tus datos):

return [
    'parameters' => [
        'database_host' => 'localhost',
        'database_port' => '3306',
        'database_name' => 'tu_basededatos',
        'database_user' => 'tu_usuario',
        'database_password' => 'tu_contraseña',
        'database_prefix' => 'ps_',
        'database_engine' => 'InnoDB',
        ...
    ],
];

Qué debes comprobar

  • database_host: Normalmente es localhost o 127.0.0.1. En DirectAdmin, casi siempre es localhost.
  • database_name: Debe coincidir exactamente con el nombre de la base de datos que ves en DirectAdmin. En DirectAdmin, los nombres suelen tener un prefijo con el usuario, por ejemplo: usuario_bd_tienda.
  • database_user: Debe ser el usuario de la base de datos, que también suele llevar un prefijo.
  • database_password: Asegúrate de que la contraseña es correcta. Si tienes dudas, cámbiala en DirectAdmin y actualiza este archivo.

[WARNING] Ten mucho cuidado al editar este archivo. Un error de sintaxis (una coma, una comilla mal puesta) puede romper tu tienda por completo. Si no estás seguro, haz una copia de seguridad antes de tocarlo.


Paso 3: Verifica las credenciales desde DirectAdmin

Si no estás seguro de que los datos sean correctos, la mejor manera de comprobarlo es desde el propio DirectAdmin.

Pasos para verificar o cambiar la contraseña de la BD

  1. Ve a "MySQL Management" en tu panel de DirectAdmin.
  2. Verás una lista de tus bases de datos y los usuarios asociados.
  3. Haz clic en "Editar" o en el icono de lápiz junto a la base de datos que usa tu PrestaShop.
  4. Ahí podrás ver el nombre exacto de la base de datos y el usuario.
  5. Si necesitas cambiar la contraseña, busca la opción "Cambiar contraseña". Hazlo y luego actualiza el archivo parameters.php con la nueva contraseña.

[TIP] Una buena práctica es copiar y pegar el nombre de la base de datos y el usuario directamente desde DirectAdmin al archivo de configuración, para evitar errores de escritura.


Paso 4: Comprueba que la base de datos existe y no está corrupta

A veces, la base de datos puede haber sido eliminada o dañada. Para comprobarlo:

  1. Entra en phpMyAdmin desde DirectAdmin.
  2. En el panel izquierdo, busca el nombre de tu base de datos.
  3. Si no aparece, significa que ha sido eliminada. Si aparece, haz clic en ella y revisa si hay tablas (como ps_products, ps_orders, etc.).

Si la base de datos no existe

Tienes dos opciones:

  • Restaurar una copia de seguridad: Si tienes un backup reciente, restáuralo desde DirectAdmin o desde phpMyAdmin.
  • Crear una nueva base de datos: Si no tienes backup, tendrás que crear una nueva base de datos y un nuevo usuario, y luego intentar recuperar los datos desde otra fuente (como una copia local).

[WARNING] Si creas una base de datos vacía, tu tienda seguirá sin funcionar porque no tendrá tablas. Necesitarás importar un archivo .sql de una copia de seguridad.

Si la base de datos existe pero está corrupta

Puedes intentar repararla desde phpMyAdmin:

  1. Selecciona todas las tablas de tu base de datos.
  2. En el menú desplegable inferior, elige "Reparar tabla".
  3. Espera a que termine el proceso.

Esto suele arreglar errores menores de corrupción.


Paso 5: Revisa si el servicio MySQL está activo en DirectAdmin

Aunque es menos común, puede que el servicio de base de datos se haya detenido. En DirectAdmin, puedes comprobarlo de la siguiente manera:

  1. Ve a "System Info" o "Servicios" en el panel.
  2. Busca el servicio MySQL o MariaDB.
  3. Si aparece como detenido, intenta iniciarlo.

Si no tienes acceso a esta opción, tendrás que contactar con tu proveedor de hosting para que lo reinicien.


Paso 6: Soluciona problemas de permisos del usuario de la BD

Otra causa común es que el usuario de la base de datos no tenga todos los permisos necesarios. En DirectAdmin:

  1. Ve a "MySQL Management".
  2. Haz clic en el usuario que usa PrestaShop.
  3. Verás una lista de permisos (SELECT, INSERT, UPDATE, DELETE, etc.).
  4. Asegúrate de que todos los permisos están marcados, especialmente ALL PRIVILEGES.

Si no lo están, márcalos y guarda los cambios.


Paso 7: Prueba la conexión con un script simple

Si has seguido todos los pasos y aún no funciona, puedes crear un pequeño script PHP para probar la conexión directamente. Esto te ayudará a aislar el problema.

Cómo hacerlo

  1. Crea un archivo llamado test_db.php en la carpeta raíz de tu tienda (donde está el index.php).
  2. Pega el siguiente código:
<?php
$host = 'localhost';
$dbname = 'tu_basededatos';
$user = 'tu_usuario';
$pass = 'tu_contraseña';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
    echo "Conexión exitosa a la base de datos.";
} catch (PDOException $e) {
    echo "Error de conexión: " . $e->getMessage();
}
?>
  1. Guarda el archivo y accede a https://tudominio.com/test_db.php en tu navegador.
  • Si ves el mensaje de éxito, el problema está en la configuración de PrestaShop.
  • Si ves un error, el mensaje te dará pistas (por ejemplo, Access denied for user, Unknown database, etc.).

[TIP] No olvides borrar este archivo después de la prueba, ya que es un riesgo de seguridad.


Paso 8: Revisa los logs de error de PrestaShop

PrestaShop guarda registros de errores que pueden darte más información. Para acceder a ellos:

  1. Ve a la carpeta var/logs/ de tu instalación.
  2. Busca archivos con nombres como prod.log o dev.log.
  3. Ábrelos y busca líneas relacionadas con la base de datos.

Los mensajes suelen ser muy descriptivos, como por ejemplo: SQLSTATE[HY000] [1045] Access denied for user 'usuario'@'localhost'.


Paso 9: Restaura una copia de seguridad (si todo lo demás falla)

Si has probado todo y no encuentras la solución, la opción más rápida es restaurar una copia de seguridad reciente. La mayoría de los paneles de DirectAdmin permiten hacer backups automáticos.

Cómo restaurar desde DirectAdmin

  1. Ve a la sección "Backup" o "Restaurar" en tu panel.
  2. Selecciona la copia de seguridad más reciente que tengas.
  3. Elige restaurar la base de datos y los archivos.
  4. Sigue los pasos y espera a que termine.

[INFO] Ten en cuenta que restaurar una copia de seguridad puede hacer que pierdas los cambios realizados desde la fecha del backup. Es una medida drástica, pero a veces es la única solución.


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

¿Puedo solucionar este error sin acceso al panel de DirectAdmin?

No, necesitas al menos acceso al panel de control o al FTP para modificar los archivos de configuración. Si no tienes acceso, contacta con tu proveedor de hosting.

¿Por qué mi base de datos aparece como "bloqueada" en DirectAdmin?

Esto puede ocurrir si se superó el límite de conexiones o si hay un proceso bloqueado. Normalmente se resuelve solo en unos minutos. Si no, reinicia el servicio MySQL desde el panel.

¿Qué hago si el error aparece después de cambiar la contraseña de la BD?

Simplemente actualiza el archivo parameters.php con la nueva contraseña. Asegúrate de que no haya espacios adicionales y de que la contraseña esté entre comillas simples.

¿Es normal que el nombre de la base de datos en DirectAdmin tenga un prefijo?

Sí, en DirectAdmin es muy común que los nombres de las bases de datos y los usuarios tengan un prefijo con el nombre de usuario del servidor (por ejemplo, usuario_bd_tienda). Asegúrate de usar el nombre completo.

¿Puedo usar "localhost" como host en todos los casos?

En la mayoría de los servidores con DirectAdmin, sí. Sin embargo, en algunos casos puede ser necesario usar la IP del servidor o un host específico. Consulta la documentación de tu proveedor.

¿Qué es "Syspanel" y cómo se relaciona con este error?

Syspanel es otro panel de control de hosting que se utiliza en algunos servidores como alternativa a DirectAdmin. Si tu hosting usa Syspanel, el acceso al panel se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). La gestión de bases de datos en Syspanel es similar a la de DirectAdmin, y los pasos para solucionar este error son prácticamente los mismos: verificar credenciales, permisos y el estado del servicio MySQL.


Consejos finales para evitar este error en el futuro

  1. Haz copias de seguridad periódicas: Tanto de los archivos como de la base de datos. DirectAdmin ofrece herramientas para automatizarlo.
  2. Anota los cambios de contraseña: Si cambias la contraseña de la BD, actualiza inmediatamente el archivo parameters.php.
  3. No edites archivos de configuración sin hacer una copia previa: Un pequeño error puede dejar tu tienda inaccesible.
  4. Mantén PrestaShop actualizado: Las versiones antiguas pueden tener bugs que provoquen errores de conexión.
  5. Contacta con tu proveedor si el problema persiste: A veces el problema está en el servidor y solo ellos pueden solucionarlo.

Conclusión

El error "No se puede conectar a la base de datos" en PrestaShop puede ser frustrante, pero como has visto, la mayoría de las veces tiene una solución clara y sencilla. Siguiendo estos pasos, podrás solucionar error prestashop y tener tu tienda online funcionando de nuevo en poco tiempo.

Recuerda que la clave está en verificar las credenciales, los permisos y el estado del servicio MySQL. Y si todo falla, siempre puedes recurrir a una copia de seguridad o al soporte de tu hosting.

[TIP] Guarda este artículo como referencia rápida. Si alguna vez vuelves a ver este error, sabrás exactamente por dónde empezar.

¡Esperamos que tu tienda vuelva a estar operativa muy pronto!

¿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