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

Solución al error 'No se puede conectar a la base de datos' en PrestaShop (DirectAdmin)

Actualizado el 10 de mayo de 2026

Primeros pasos: entendiendo qué significa este error

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 es el fin del mundo. Este error es uno de los más comunes en entornos de hosting compartido o VPS con panel DirectAdmin, y en la gran mayoría de los casos tiene una solución rápida y sencilla.

El mensaje completo suele aparecer así: "Link to database cannot be established: SQLSTATE[HY000] [1045] Access denied for user..." o también puede mostrar "SQLSTATE[HY000] [2002] Connection refused". Ambos casos indican que PrestaShop no logra comunicarse con MySQL o MariaDB.

Antes de entrar en pánico, respira. En esta guía completa te voy a explicar paso a paso cómo solucionar el error base de datos prestashop directadmin, desde las causas más simples hasta las más técnicas. No necesitas ser un experto en servidores para seguir estos pasos, solo tener acceso a tu panel de control y algo de paciencia.


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

Para solucionar cualquier problema, primero debemos entender por qué ocurre. Estas son las razones más frecuentes por las que PrestaShop no conecta BD DirectAdmin:

  1. Credenciales incorrectas en el archivo parameters.php o settings.inc.php.
  2. El servicio MySQL/MariaDB está caído 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 espacio o conexiones simultáneas.
  5. Cambios recientes en la contraseña del usuario de BD.
  6. Problemas con el archivo de configuración después de una migración o actualización.
  7. El servidor bloquea conexiones remotas si tu BD está en otro host.

Vamos a atacar cada una de estas causas en orden de probabilidad, desde lo más simple a lo más complejo.


Solución paso a paso: verifica tus credenciales de acceso

Localiza el archivo de configuración de PrestaShop

En PrestaShop 1.7 y versiones posteriores, la configuración de la base de datos se encuentra en:

/config/parameters.php

En versiones antiguas (1.6 o anteriores), el archivo es:

/config/settings.inc.php

Accede a tu panel de DirectAdmin, abre el Administrador de Archivos (File Manager) y navega hasta la carpeta config de tu instalación de PrestaShop. Busca el archivo correspondiente y haz clic en Editar.

Revisa los valores correctos

Dentro del archivo, busca estas líneas (en parameters.php):

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

En settings.inc.php sería:

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

Comprueba que estos datos coincidan exactamente con los que tienes en DirectAdmin. Para ver tus bases de datos, ve al menú MySQL Management en tu panel DirectAdmin.

[TIP] En DirectAdmin, el nombre de la base de datos y el usuario suelen tener un prefijo con tu nombre de usuario. Por ejemplo, si tu usuario es cliente1, la BD podría llamarse cliente1_prestashop. Asegúrate de incluir ese prefijo completo.

Cambia la contraseña desde DirectAdmin

Si sospechas que la contraseña pudo cambiar, ve a MySQL Management en DirectAdmin:

  1. Localiza tu base de datos en la lista.
  2. Haz clic en el icono de edición o en "Change Password".
  3. Introduce una nueva contraseña segura (usa mayúsculas, minúsculas, números y símbolos).
  4. Actualiza ese mismo valor en el archivo parameters.php o settings.inc.php.
  5. Guarda los cambios y prueba de nuevo tu tienda.

Verifica que el servicio MySQL esté activo

A veces el problema no es tuyo, sino del servidor. Si el servicio MySQL/MariaDB está detenido, ningún sitio en ese servidor podrá conectar.

Desde DirectAdmin

En tu panel DirectAdmin, busca la sección System Services o Services. Asegúrate de que mysqld o mariadb aparezca como Running (en ejecución).

Desde SSH (si tienes acceso)

Si tienes acceso SSH a tu servidor, ejecuta:

systemctl status mysql

O si usas MariaDB:

systemctl status mariadb

Si está detenido, inícialo con:

systemctl start mysql

[WARNING] Si el servicio se detiene constantemente, puede haber un problema de recursos (memoria insuficiente) o un error en los logs de MySQL. Revisa los logs en /var/log/mysql/error.log para más detalles.


Comprueba los permisos del usuario de la base de datos

Un error muy común es que el usuario de BD tenga permisos limitados. DirectAdmin normalmente asigna todos los privilegios al crear la BD, pero a veces puede haber fallos.

Pasos para verificar permisos

  1. Entra en MySQL Management en DirectAdmin.
  2. Haz clic en tu base de datos.
  3. Verás la lista de usuarios asociados y sus privilegios.
  4. Asegúrate de que tu usuario tenga ALL PRIVILEGES (todos los privilegios).

Si no los tiene, puedes usar phpMyAdmin (disponible en DirectAdmin) para otorgarlos:

  1. Abre phpMyAdmin desde DirectAdmin.
  2. Selecciona tu base de datos en el panel izquierdo.
  3. Ve a la pestaña Privilegios.
  4. Edita tu usuario y marca "Grant all privileges on database...".

El límite de conexiones o espacio en disco

Espacio en disco agotado

Si tu base de datos ha llenado su cuota, MySQL puede rechazar nuevas conexiones. En DirectAdmin, ve a MySQL Management y verifica el tamaño de tu BD. También revisa el uso general de disco en Account Manager > Usage.

Para liberar espacio:

  • Elimina logs antiguos de PrestaShop (carpeta /var/logs).
  • Vacía la papelera de reciclaje de DirectAdmin.
  • Usa phpMyAdmin para optimizar tablas y eliminar registros obsoletos (carritos abandonados, sesiones antiguas).

Límite de conexiones simultáneas

En hosting compartido, puede haber un límite de conexiones MySQL por usuario. Si tu tienda recibe mucho tráfico, podrías superar ese límite temporalmente. Esto suele resolverse solo, pero si es recurrente, considera:

  • Usar un plugin de caché (como PrestaShop Cache).
  • Reducir el número de módulos activos.
  • Contactar con tu proveedor de hosting para aumentar el límite.

Problemas tras migración o actualización

Si el error apareció después de mover tu tienda a otro servidor o actualizar PrestaShop, es muy probable que el archivo de configuración tenga datos antiguos.

Solución rápida para migraciones

  1. Exporta tu base de datos desde el servidor antiguo (phpMyAdmin > Exportar).
  2. Importa esa base de datos en el nuevo servidor (phpMyAdmin > Importar).
  3. Edita parameters.php o settings.inc.php con las nuevas credenciales del servidor.
  4. Si cambiaste el dominio, también necesitas actualizar en la tabla ps_configuration los valores de PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL.

Actualización de PrestaShop fallida

Si actualizaste PrestaShop y ahora no conecta, puede que el instalador haya dejado valores incorrectos. Prueba a restaurar una copia de seguridad anterior del archivo de configuración y de la BD.

[INFO] Siempre haz una copia de seguridad completa (archivos + BD) antes de cualquier actualización o cambio de configuración. Es la regla de oro del hosting.


Conexiones remotas y problemas de firewall

A veces la base de datos está en un servidor distinto al de tu web. Si ese es tu caso, verifica:

Host de la base de datos

En parameters.php, database_host debe tener la IP o dominio del servidor de BD. Si usas localhost, asegúrate de que MySQL esté en el mismo servidor.

Puerto de conexión

DirectAdmin suele usar el puerto 3306 para MySQL. Si el puerto está bloqueado por firewall, la conexión fallará. Puedes probar a conectarte manualmente con:

mysql -h host -P 3306 -u usuario -p

Si el puerto está bloqueado, contacta con tu proveedor de hosting para abrirlo.


Errores específicos y sus soluciones rápidas

Error 1045: Access denied for user

Este es el más común. Significa que el usuario o la contraseña son incorrectos, o que el usuario no tiene permiso para conectarse desde esa IP.

Solución: Revisa credenciales, cambia la contraseña en DirectAdmin y actualiza el archivo de configuración.

Error 2002: Connection refused

Indica que MySQL no está escuchando en el puerto o que el servicio está caído.

Solución: Verifica que MySQL esté corriendo y que el host sea correcto.

Error 2003: Can't connect to MySQL server

Similar al anterior, pero suele indicar problemas de red o firewall.

Solución: Comprueba la conectividad con ping al servidor de BD y que el puerto 3306 esté abierto.


Herramientas de diagnóstico útiles

phpMyAdmin

Desde DirectAdmin puedes acceder a phpMyAdmin en: tudominio.com/phpmyadmin. Si puedes entrar con tus credenciales, el problema está en PrestaShop. Si no, el problema es de la BD.

Logs de error de PrestaShop

Activa el modo debug de PrestaShop para ver errores más detallados:

  1. Edita /config/defines.inc.php.
  2. Busca define('_PS_MODE_DEV_', false); y cámbialo a true.
  3. Recarga tu tienda y verás el error exacto.

[WARNING] No olvides volver a poner false cuando termines de depurar, ya que el modo debug muestra información sensible.


Preguntas frecuentes (FAQ)

¿Por qué mi PrestaShop no conecta a la BD después de cambiar la contraseña en DirectAdmin?

Porque el archivo parameters.php o settings.inc.php sigue teniendo la contraseña antigua. Actualiza esos archivos manualmente o usa el instalador de PrestaShop para regenerarlos.

¿Puedo usar el instalador de PrestaShop para reparar la conexión?

Sí. Si tienes una copia de seguridad de tu BD, puedes ejecutar el instalador de PrestaShop en modo "actualizar" o "reparar". Esto regenerará los archivos de configuración.

¿Qué hago si no tengo acceso a DirectAdmin?

Contacta con tu proveedor de hosting. Ellos podrán verificar el estado de MySQL y tus credenciales. Ten a mano tu número de ticket y una descripción clara del error.

¿El error puede deberse a un ataque o hackeo?

En raras ocasiones, un atacante puede modificar tus archivos de configuración. Si sospechas de un hackeo, revisa los logs de acceso y cambia todas tus contraseñas (DirectAdmin, BD, FTP).

¿Cómo evito este error en el futuro?

  • Realiza copias de seguridad periódicas.
  • Anota siempre los cambios de contraseña.
  • No modifiques archivos de configuración sin respaldo.
  • Mantén PrestaShop y sus módulos actualizados.

Resumen final: checklist rápido

Para cerrar, aquí tienes una lista de verificación rápida cuando encuentres el error base de datos prestashop directadmin:

  1. ✅ ¿El servicio MySQL está activo en DirectAdmin?
  2. ✅ ¿Las credenciales en parameters.php son correctas?
  3. ✅ ¿El usuario tiene todos los permisos sobre la BD?
  4. ✅ ¿Hay espacio en disco suficiente?
  5. ✅ ¿El puerto 3306 está accesible?
  6. ✅ ¿Has probado a conectarte con phpMyAdmin?
  7. ✅ ¿Has restaurado una copia de seguridad reciente?

Si has seguido todos estos pasos y el problema persiste, es momento de contactar con tu soporte técnico. Proporciónales el mensaje de error exacto y los pasos que ya has probado. Con esa información, podrán ayudarte mucho más rápido.

Recuerda que los errores de conexión a BD son habituales en DirectAdmin PrestaShop error conexion, pero con paciencia y esta guía, la mayoría se resuelven en menos de 30 minutos. ¡Tu tienda volverá a estar online en 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