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

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

Actualizado el 8 de enero de 2026

¿Qué significa este error y por qué aparece?

Cuando tu tienda PrestaShop muestra el temido mensaje "No se puede conectar a la base de datos", lo primero que debes saber es que no has perdido tus productos ni tus pedidos. Este error es mucho más común de lo que parece y, en la gran mayoría de los casos, tiene una solución rápida y sencilla.

Este mensaje indica que PrestaShop no logra comunicarse con el servidor MySQL donde se almacena toda la información de tu tienda: catálogo, clientes, pedidos, configuraciones, etc. Sin esa conexión, la aplicación no puede generar las páginas dinámicas que muestran tu catálogo.

Las causas más frecuentes de este fallo incluyen:

  • Cambios en la contraseña de la base de datos (por ejemplo, al renovar el hosting).
  • Archivos de configuración con datos incorrectos o desactualizados.
  • Problemas temporales del servidor MySQL (caídas, sobrecarga, reinicios).
  • Límite de conexiones simultáneas alcanzado.
  • Errores en los permisos del usuario de la base de datos.
  • El servidor de base de datos cambió de dirección IP o de puerto.

En este artículo, te guiaremos paso a paso para diagnosticar y corregir este error en un entorno DirectAdmin, uno de los paneles de control de hosting más utilizados. No necesitas ser un experto técnico, solo seguir las instrucciones con calma y en orden.


Antes de empezar: prepara tu entorno de trabajo

Para resolver este problema necesitarás dos cosas:

  1. Acceso a tu panel de control DirectAdmin (normalmente en https://tudominio.com:2222 o la URL que te haya proporcionado tu proveedor de hosting).
  2. Acceso al administrador de archivos o un cliente FTP (como FileZilla) para editar un archivo de configuración.

[TIP] Si no recuerdas tu contraseña de DirectAdmin, contacta con tu proveedor de hosting. Ellos pueden restablecerla en minutos.

Además, te recomendamos trabajar con calma y hacer una copia de seguridad de los archivos que vayas a modificar. En DirectAdmin, puedes crear una copia de seguridad completa desde la sección "Copias de seguridad" del panel.


Paso 1: Identifica la causa exacta del error

Antes de tocar nada, es importante saber si el problema es general (toda la web falla) o parcial (solo algunas páginas). También puedes activar el modo de depuración de PrestaShop para ver un mensaje más detallado.

Activar el modo de depuración (debug mode)

  1. Accede a tu panel de DirectAdmin.
  2. Ve a "Administrador de archivos" y navega hasta la carpeta raíz de tu tienda PrestaShop (normalmente public_html o domains/tudominio.com/public_html).
  3. Busca el archivo llamado config/defines.inc.php.
  4. Ábrelo con el editor de texto del propio administrador de archivos.
  5. Busca la línea que dice define('_PS_MODE_DEV_', false); y cámbiala a define('_PS_MODE_DEV_', true);.
  6. Guarda los cambios y recarga tu tienda.

Ahora verás un mensaje de error más específico, que puede indicar cosas como:

  • "Access denied for user 'usuario'@'localhost'" → Problema de credenciales.
  • "Unknown database 'nombre_bd'" → La base de datos no existe o el nombre es incorrecto.
  • "Too many connections" → Límite de conexiones superado.
  • "Can't connect to MySQL server" → El servidor MySQL no está accesible.

[WARNING] No olvides volver a poner _PS_MODE_DEV_ en false cuando termines de diagnosticar, para no exponer información sensible de tu tienda.


Paso 2: Verifica los datos de conexión en el archivo de configuración

El archivo clave donde PrestaShop guarda los datos de conexión a la base de datos es:

config/settings.inc.php

Este archivo contiene las siguientes líneas (o similares, dependiendo de la versión de PrestaShop):

define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_base_de_datos');
define('_DB_USER_', 'tu_usuario');
define('_DB_PASSWD_', 'tu_contraseña');
define('_DB_PREFIX_', 'ps_');

Cómo editarlo en DirectAdmin

  1. Ve al Administrador de archivos de DirectAdmin.
  2. Navega hasta config/settings.inc.php.
  3. Haz clic derecho sobre el archivo y selecciona "Editar".
  4. Comprueba que los valores coinciden exactamente con los de tu base de datos.

[INFO] Si no estás seguro de cuáles son tus datos de conexión, el siguiente paso te ayudará a encontrarlos desde DirectAdmin.


Paso 3: Comprueba la base de datos en DirectAdmin

DirectAdmin tiene una sección específica para gestionar bases de datos MySQL. Sigue estos pasos:

  1. En el panel de DirectAdmin, busca la sección "Gestión de MySQL" o "Bases de datos MySQL".
  2. Verás una lista con todas las bases de datos de tu cuenta.
  3. Anota el nombre exacto de la base de datos y el usuario asociado.

¿Qué debes comprobar?

  • Que el nombre de la base de datos coincida con el que aparece en settings.inc.php.
  • Que el usuario de la base de datos exista y tenga todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.).
  • Que la contraseña sea correcta. Si tienes dudas, puedes cambiarla desde DirectAdmin.

[TIP] Si cambias la contraseña en DirectAdmin, recuerda actualizarla también en settings.inc.php. Este es el error más común tras una renovación de hosting.


Paso 4: Soluciona problemas de contraseña o usuario

Si sospechas que la contraseña o el usuario son incorrectos, haz lo siguiente:

  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 nueva contraseña segura (combina letras, números y símbolos).
  4. Anota la nueva contraseña.
  5. Edita config/settings.inc.php y actualiza el valor de _DB_PASSWD_ con la nueva contraseña.
  6. Guarda los cambios y prueba de nuevo.

[WARNING] Asegúrate de no dejar espacios en blanco alrededor de la contraseña en el archivo de configuración. Cualquier carácter extra romperá la conexión.


Paso 5: Verifica que el servidor MySQL esté activo

A veces el problema no está en tu configuración, sino en el propio servidor de bases de datos. Para comprobarlo:

  1. Accede a DirectAdmin.
  2. Busca la sección "Servicios del sistema" o "Estado del servidor".
  3. Localiza el servicio MySQL o MariaDB.
  4. Si aparece detenido, intenta iniciarlo desde el propio panel.

[INFO] Si no puedes iniciarlo, contacta con tu proveedor de hosting. Podría haber un problema más profundo en el servidor que solo ellos pueden resolver.


Paso 6: Revisa el límite de conexiones simultáneas

Si el error aparece solo en momentos de mucho tráfico, podría deberse al límite de conexiones MySQL. En DirectAdmin, puedes:

  1. Ir a "Configuración de MySQL" o "Límites de recursos".
  2. Comprobar el límite de conexiones asignado a tu cuenta.
  3. Si es muy bajo (por ejemplo, 10), considera aumentarlo o contacta con tu proveedor.

[TIP] Una solución temporal es reiniciar el servicio MySQL desde DirectAdmin para liberar conexiones colgadas. Esto suele funcionar si el error es intermitente.


Paso 7: Comprueba si el host de la base de datos es correcto

En la mayoría de los casos, el host de la base de datos es localhost, pero en algunos servidores puede ser una dirección IP o un nombre de host específico (por ejemplo, mysql.tudominio.com).

Cómo verificarlo

  1. En DirectAdmin, ve a "Gestión de MySQL".
  2. Busca la información del host que aparece junto a tu base de datos.
  3. Si difiere de localhost, actualiza _DB_SERVER_ en settings.inc.php.

[WARNING] No intentes adivinar el host. Usa siempre el valor que te muestra DirectAdmin o el que te haya proporcionado tu proveedor.


Paso 8: Restaura una copia de seguridad de la configuración

Si has realizado cambios recientes en tu tienda (instalación de módulos, cambios de servidor, migraciones), es posible que el archivo settings.inc.php se haya corrompido o sobrescrito con datos incorrectos.

En ese caso:

  1. Ve a DirectAdmin → Copias de seguridad.
  2. Busca una copia reciente de tu tienda.
  3. Extrae solo el archivo config/settings.inc.php de la copia.
  4. Reemplaza el archivo actual con el de la copia.
  5. Prueba de nuevo.

[INFO] Si no tienes copias de seguridad, siempre puedes crear un archivo settings.inc.php nuevo con los datos correctos que has verificado en los pasos anteriores.


Paso 9: Comprueba los permisos del archivo de configuración

Aunque parezca extraño, los permisos incorrectos en settings.inc.php pueden impedir que PrestaShop lea los datos de conexión.

  1. En el Administrador de archivos de DirectAdmin, localiza config/settings.inc.php.
  2. Haz clic derecho y selecciona "Permisos".
  3. Asegúrate de que los permisos sean 644 (lectura y escritura para el propietario, lectura para el grupo y para el resto).
  4. Guarda los cambios.

[WARNING] No uses permisos 777 ya que son inseguros y podrían comprometer tu tienda.


Paso 10: Contacta con tu proveedor de hosting si nada funciona

Si has seguido todos los pasos anteriores y el error persiste, es probable que el problema esté en el servidor, no en tu configuración. En ese caso:

  • Contacta con el soporte técnico de tu proveedor.
  • Explícales que has verificado los datos de conexión, la base de datos y el estado del servicio MySQL.
  • Pídeles que revisen los logs del servidor para identificar el error exacto.

[TIP] Si tu proveedor usa Syspanel (antes conocido como HestiaCP), el acceso a la gestión de bases de datos se realiza a través del puerto 2106. Este panel también tiene una sección de bases de datos MySQL donde puedes verificar los mismos datos que en DirectAdmin.


Preguntas frecuentes (FAQ)

¿Puedo perder mis datos si cambio la contraseña de la base de datos?

No, cambiar la contraseña no afecta a los datos almacenados. Solo cambia la forma en que PrestaShop se autentica ante MySQL.

¿Por qué aparece este error después de renovar mi hosting?

Es muy común que al renovar o migrar un hosting, las credenciales de la base de datos cambien. Revisa siempre el archivo settings.inc.php después de cualquier cambio en tu proveedor.

¿Qué es _DB_PREFIX_ y por qué es importante?

Es el prefijo de las tablas de PrestaShop. Si lo cambias, PrestaShop no encontrará sus tablas y dará error. No lo modifiques a menos que sepas exactamente lo que estás haciendo.

¿Puedo usar phpMyAdmin para verificar la base de datos?

Sí. En DirectAdmin, puedes acceder a phpMyAdmin desde la sección de "Gestión de MySQL". Allí podrás ver si las tablas de PrestaShop existen y si el usuario tiene permisos.

¿El error "No se puede conectar a la base de datos" puede deberse a un ataque?

En raras ocasiones, un ataque o un intento de inyección SQL puede saturar la base de datos. Si sospechas de actividad sospechosa, cambia todas tus contraseñas y contacta con tu proveedor.


Resumen final

El error "No se puede conectar a la base de datos" en PrestaShop con DirectAdmin es un problema común pero solucionable. La clave está en:

  1. Activar el modo de depuración para ver el error exacto.
  2. Verificar los datos de conexión en config/settings.inc.php.
  3. Comprobar la base de datos y el usuario en DirectAdmin.
  4. Revisar el estado del servicio MySQL.
  5. Contactar con tu proveedor si nada funciona.

Recuerda siempre hacer copias de seguridad antes de modificar archivos y trabajar con calma. En la mayoría de los casos, el error se resuelve en menos de 15 minutos.

[INFO] Si tu proveedor utiliza Syspanel en lugar de DirectAdmin, recuerda que el acceso al panel se realiza a través del puerto 2106 y que la gestión de bases de datos se encuentra en una sección similar a la de DirectAdmin.

¡Esperamos que este artículo te haya sido de ayuda! Si tienes más dudas, no dudes en consultar los foros de PrestaShop o contactar con tu proveedor de hosting. Tu tienda estará funcionando de nuevo en muy poco tiempo.

¿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