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

Solucionar el error 'Cannot connect to the database' en PrestaShop con DirectAdmin

Actualizado el 25 de febrero de 2026

¿Por qué aparece “Cannot connect to the database” en PrestaShop?

Si estás leyendo esto, probablemente te has encontrado con un mensaje similar a este en tu tienda online: “Cannot connect to the database” o “Error de conexión con la base de datos”. No te preocupes, es uno de los errores más comunes en PrestaShop y, en la mayoría de los casos, tiene una solución sencilla.

Este error significa que tu tienda PrestaShop no puede comunicarse con MySQL, que es el motor de base de datos donde se almacenan tus productos, pedidos, clientes y configuración. Cuando esto ocurre, la tienda se bloquea por completo y no puedes acceder ni al front-office (la parte visible para clientes) ni al back-office (el panel de administración).

En este artículo, te voy a explicar paso a paso cómo solucionar el error base de datos PrestaShop DirectAdmin, desde las causas más comunes hasta las soluciones más avanzadas. Todo explicado de forma clara y sin tecnicismos innecesarios.


Causas más comunes del error de conexión a MySQL

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

  1. Credenciales incorrectas en el archivo de configuración de PrestaShop.
  2. El servicio MySQL está caído o no responde en el servidor.
  3. El usuario de la base de datos no tiene permisos suficientes.
  4. La base de datos ha alcanzado su límite de tamaño o está corrupta.
  5. El servidor ha cambiado de IP o de puerto y la configuración no se ha actualizado.
  6. Problemas con el archivo settings.inc.php (en versiones antiguas) o con los parámetros de conexión en versiones nuevas.

Vamos a ir una por una, desde la más fácil hasta la más compleja.


Solución 1: Reiniciar el servicio MySQL desde DirectAdmin

Esta es la primera prueba que debes hacer. A veces el servicio MySQL se detiene por un pico de carga, un reinicio del servidor o un fallo puntual. No necesitas ser un experto para hacerlo.

Pasos para reiniciar MySQL en DirectAdmin:

  1. Accede a tu panel de DirectAdmin. Normalmente usando la URL https://tu-dominio.com:2222 (o el puerto que te haya asignado tu proveedor).
  2. Inicia sesión con tu usuario y contraseña de administrador.
  3. Busca la sección "Administración de servicios" o "Service Management". En DirectAdmin suele estar en el menú lateral o en la pantalla principal.
  4. Localiza MySQL (o MariaDB, que es una alternativa compatible).
  5. Haz clic en el botón "Reiniciar" o "Restart".
  6. Espera unos segundos y vuelve a intentar cargar tu tienda PrestaShop.

[INFO] Si no encuentras la opción de reiniciar servicios, puede que tu plan de hosting no incluya acceso a esta función. En ese caso, contacta con tu proveedor de hosting y pídeles que reinicien MySQL.


Solución 2: Verificar y corregir las credenciales de la base de datos

La causa más frecuente del error base de datos PrestaShop DirectAdmin es que las credenciales de acceso a MySQL hayan cambiado o estén mal escritas. Esto puede pasar después de una migración, al cambiar de servidor o si alguien modificó la contraseña de la base de datos.

¿Dónde se guardan las credenciales en PrestaShop?

En PrestaShop, la configuración de conexión a la base de datos se encuentra en el archivo:

  • config/settings.inc.php (para PrestaShop 1.6 y versiones anteriores).
  • app/config/parameters.php (para PrestaShop 1.7 y versiones posteriores).

Cómo editarlo:

  1. Conéctate a tu servidor mediante FTP (FileZilla, por ejemplo) o usando el Administrador de archivos de DirectAdmin.

  2. Navega hasta la carpeta raíz de tu instalación de PrestaShop.

  3. Busca el archivo correspondiente según tu versión.

  4. Ábrelo con un editor de texto (como Notepad++ o el editor integrado de DirectAdmin).

  5. Busca las líneas que contienen:

    • database_host (o DB_HOST)
    • database_name (o DB_NAME)
    • database_user (o DB_USER)
    • database_password (o DB_PASS)
    • database_port (o DB_PORT)
  6. Comprueba que estos datos coinciden exactamente con los que tienes en DirectAdmin.

Cómo ver los datos correctos en DirectAdmin:

  1. Entra en DirectAdmin.
  2. Ve a la sección "MySQL Management" o "Gestión de MySQL".
  3. Ahí verás la lista de bases de datos y usuarios asociados.
  4. Si no recuerdas la contraseña, puedes restablecerla desde la misma interfaz, pero ten en cuenta que tendrás que actualizar el archivo de PrestaShop con la nueva contraseña.

[WARNING] Haz siempre una copia de seguridad del archivo parameters.php o settings.inc.php antes de editarlo. Un error al guardarlo puede dejar tu tienda completamente inaccesible.


Solución 3: Comprobar que el usuario tiene permisos sobre la base de datos

A veces las credenciales son correctas, pero el usuario de MySQL no tiene privilegios sobre la base de datos. Esto puede ocurrir si se ha creado un nuevo usuario y no se le han asignado los permisos adecuados.

Cómo asignar permisos en DirectAdmin:

  1. Entra en "MySQL Management".
  2. Localiza la base de datos a la que intenta conectarse PrestaShop.
  3. Haz clic en el icono de "Editar" o "Permissions".
  4. Verás una lista de usuarios. Asegúrate de que el usuario que usas en PrestaShop tiene todos los privilegios marcados (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
  5. Si no es así, márcalos y guarda los cambios.

[TIP] Lo más recomendable es que el usuario de PrestaShop tenga todos los privilegios sobre su propia base de datos, pero nunca sobre otras bases de datos del servidor.


Solución 4: Verificar que el host de la base de datos es correcto

Otro punto que suele fallar es el host o servidor de la base de datos. En la mayoría de los casos, en entornos de hosting compartido, el host es localhost. Pero en servidores configurados de otra manera, puede ser una IP como 127.0.0.1 o un nombre de servidor interno.

Cómo comprobarlo:

  1. En DirectAdmin, ve a "MySQL Management".
  2. Fíjate en el nombre del servidor que aparece en la parte superior o en la URL de acceso a phpMyAdmin.
  3. Si usas phpMyAdmin desde DirectAdmin, la URL normalmente es algo como: https://tu-dominio.com:8443/phpmyadmin/. El host suele ser localhost, pero en algunos casos puede ser mysql.tu-dominio.com o similar.

Qué hacer si el host no es localhost:

  1. Edita el archivo de configuración de PrestaShop (como vimos en la Solución 2).
  2. Cambia database_host al valor correcto.
  3. Guarda los cambios y prueba de nuevo.

[INFO] En un 95% de los casos, el host correcto es localhost. Solo si tu hosting es de tipo VPS o dedicado con configuraciones especiales, necesitarás cambiarlo.


Solución 5: Verificar el puerto de conexión a MySQL

Por defecto, MySQL usa el puerto 3306. Pero algunos servidores lo cambian por seguridad o porque tienen múltiples instancias de MySQL.

Cómo comprobar el puerto:

  1. Accede a phpMyAdmin desde DirectAdmin.
  2. Si puedes entrar, el puerto es el correcto (normalmente 3306).
  3. Si no puedes entrar, contacta con tu proveedor y pregúntales qué puerto usan.

Cómo cambiar el puerto en PrestaShop:

  1. Abre el archivo de configuración (parameters.php o settings.inc.php).
  2. Busca database_port.
  3. Si no existe, añade la línea: 'database_port' => '3307' (o el puerto que te indiquen).
  4. Guarda y prueba.

Solución 6: Comprobar el espacio en disco y el tamaño de la base de datos

Si tu base de datos ha alcanzado el límite de tamaño permitido por tu plan de hosting, MySQL puede negarse a aceptar conexiones nuevas. Esto es más común de lo que parece, sobre todo en tiendas con muchos productos o historiales de pedidos.

Cómo verificar el espacio:

  1. Entra en DirectAdmin.
  2. Ve a "MySQL Management".
  3. Verás el tamaño de cada base de datos.
  4. Si está cerca del límite, considera optimizar las tablas o contratar más espacio.

Cómo optimizar tablas en PrestaShop:

  1. Entra en phpMyAdmin desde DirectAdmin.
  2. Selecciona tu base de datos.
  3. Haz clic en "Marcar todas".
  4. En el menú desplegable, elige "Optimizar tabla".
  5. Ejecuta la acción.

Esto no elimina datos, pero reorganiza el almacenamiento y puede liberar espacio.


Solución 7: Reparar la base de datos (si está corrupta)

En algunos casos, el error puede deberse a una base de datos corrupta. Esto puede pasar por cortes de energía, errores del servidor o problemas durante una actualización.

Cómo reparar la base de datos:

  1. Accede a phpMyAdmin desde DirectAdmin.
  2. Selecciona tu base de datos de PrestaShop.
  3. Haz clic en la pestaña "Operaciones".
  4. Busca la sección "Mantenimiento de tablas".
  5. Elige "Reparar tabla" para todas las tablas.

[WARNING] Si la base de datos está muy dañada, la reparación puede no ser suficiente. En ese caso, necesitarás restaurar una copia de seguridad reciente.


Solución 8: Revisar si hay problemas con el archivo .htaccess

Aunque menos común, un archivo .htaccess corrupto puede provocar errores extraños en PrestaShop, incluido el fallo de conexión a la base de datos.

Cómo solucionarlo:

  1. Conéctate por FTP a tu servidor.
  2. Busca el archivo .htaccess en la raíz de PrestaShop.
  3. Renómbralo a .htaccess.bak (esto lo desactiva temporalmente).
  4. Intenta acceder a tu tienda.
  5. Si funciona, el problema estaba ahí. Puedes regenerar el .htaccess desde el back-office de PrestaShop (si consigues entrar) o restaurar el original.

Solución 9: Contactar con el soporte del hosting

Si has probado todas las soluciones anteriores y el error persiste, es hora de contactar con tu proveedor de hosting. Puede haber un problema a nivel de servidor que no puedes resolver tú.

Qué información debes dar al soporte:

  • El mensaje de error exacto.
  • La versión de PrestaShop que usas.
  • La versión de PHP y MySQL.
  • Lo que has probado hasta ahora.
  • La fecha y hora en que empezó el problema.

Esto les ayudará a diagnosticar el problema mucho más rápido.


Preguntas frecuentes (FAQ)

¿Por qué me aparece este error después de una actualización de PrestaShop?

Las actualizaciones pueden cambiar la estructura de la base de datos. Si la actualización no se completó correctamente, puede dejar la tienda en un estado inconsistente. Revisa que la versión de PHP sea compatible con la nueva versión de PrestaShop.

¿Puedo perder mis datos si reparo la base de datos?

No. Reparar tablas no elimina datos. Simplemente corrige errores internos de almacenamiento. Sin embargo, siempre es recomendable hacer una copia de seguridad antes.

¿Qué es el archivo parameters.php y dónde está?

Es el archivo de configuración principal de PrestaShop 1.7+. Se encuentra en app/config/parameters.php. Contiene las credenciales de la base de datos, claves secretas y otros parámetros.

¿Y si uso Syspanel en lugar de DirectAdmin?

Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es muy similar. Accede a tu panel a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106) y busca la sección de bases de datos MySQL. El resto de los pasos de este artículo son igualmente aplicables.

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

Depende de la causa. Si es un problema de credenciales, en 10 minutos lo tienes resuelto. Si es un problema del servidor, puede tardar unas horas, especialmente si depende del soporte técnico de tu hosting.


Consejos finales para evitar futuros errores de conexión

  1. Haz copias de seguridad periódicas de tu base de datos y archivos.
  2. Mantén PrestaShop actualizado a la última versión estable.
  3. No cambies contraseñas de MySQL sin actualizar el archivo de configuración.
  4. Monitoriza el espacio en disco de tu servidor.
  5. Usa contraseñas seguras para la base de datos y guárdalas en un gestor de contraseñas.

Resumen rápido

El error “Cannot connect to the database” en PrestaShop con DirectAdmin es frustrante, pero casi siempre tiene solución. Los pasos más importantes son:

  1. Reiniciar MySQL.
  2. Verificar credenciales en parameters.php o settings.inc.php.
  3. Comprobar permisos del usuario.
  4. Verificar host y puerto.
  5. Revisar espacio y estado de la base de datos.
  6. Reparar tablas si es necesario.
  7. Contactar con el soporte si nada funciona.

Con esta guía, tendrás todas las herramientas para resolver el PrestaShop no conecta MySQL DirectAdmin por ti mismo, ahorrándote tiempo y dinero. Si te ha sido útil, compártelo con otros usuarios que puedan estar pasando por el mismo problema. ¡Buena suerte con tu tienda!

¿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