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

Resolver error de conexión a la base de datos en PrestaShop (DirectAdmin)

Actualizado el 16 de septiembre de 2025

Primeros pasos: ¿Qué significa exactamente "error de conexión a la base de datos"?

Cuando tu tienda PrestaShop muestra un mensaje como "Error de conexión a la base de datos", "Link to database cannot be established" o una pantalla en blanco con un texto similar, no significa que hayas perdido tus productos o clientes. Significa que PrestaShop no ha podido comunicarse con el servidor donde se guarda toda tu información (MySQL o MariaDB).

Este es uno de los errores más comunes en entornos de alojamiento compartido o VPS con panel DirectAdmin. La buena noticia es que en el 90% de los casos tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto en programación.


¿Por qué ocurre este error en DirectAdmin?

En un servidor con DirectAdmin, tu tienda PrestaShop depende de tres elementos que deben trabajar juntos:

  1. El archivo de configuración parameters.php (o settings.inc.php en versiones antiguas).
  2. El servicio de base de datos MySQL/MariaDB.
  3. El usuario y la contraseña de la base de datos.

Si falla cualquiera de estos tres, obtendrás el temido error base datos PrestaShop. Las causas más frecuentes son:

  • Cambio de contraseña de la base de datos sin actualizar PrestaShop.
  • El servicio MySQL se ha detenido o reiniciado.
  • El usuario de la base de datos ha perdido permisos.
  • Se ha superado el límite de conexiones simultáneas.
  • El archivo de configuración tiene una ruta o puerto incorrecto.
  • Problemas con el archivo .htaccess o con los permisos de archivos.

Vamos a resolverlo paso a paso, de lo más simple a lo más complejo.


Paso 1: Comprueba si el servicio MySQL está activo en DirectAdmin

Antes de tocar nada, verifica que el motor de base de datos esté funcionando. A veces, tras una actualización o un reinicio del servidor, MySQL se queda caído.

Cómo hacerlo:

  1. Accede a tu panel DirectAdmin (normalmente en https://tudominio.com:2222).
  2. Busca la sección "Servicios" o "System Services" (en algunos temas de DirectAdmin aparece como "Service Monitoring").
  3. Busca MySQL o MariaDB en la lista.
  4. Si aparece con un punto rojo o dice "Stopped", haz clic en "Start" o "Restart".

[TIP] Si no encuentras esa sección, puedes reiniciar MySQL desde SSH con el comando service mysql restart o systemctl restart mysql. Pero si no sabes qué es SSH, mejor contacta con tu proveedor de hosting para que lo hagan ellos.


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

Este es el archivo que contiene los datos de acceso a la base de datos. Si se ha corrompido o tiene datos incorrectos, tu tienda no podrá conectarse.

Ubicación del archivo:

  • En PrestaShop 1.7 y 1.8: /config/parameters.php
  • En PrestaShop 1.6 y anteriores: /config/settings.inc.php

Qué debes revisar:

Abre el archivo con un editor de texto (como el administrador de archivos de DirectAdmin o un FTP tipo FileZilla) y busca estas líneas:

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

Errores típicos:

  • La contraseña no coincide con la que creaste en DirectAdmin.
  • El nombre de la base de datos no incluye el prefijo de tu usuario (en DirectAdmin suele ser usuario_nombrebasededatos).
  • El host no es localhost sino 127.0.0.1 o una dirección IP específica.

[WARNING] Haz siempre una copia de seguridad de este archivo antes de modificarlo. Si lo rompes, tu tienda no cargará nada.


Paso 3: Verifica las credenciales desde DirectAdmin

A veces, el problema es que la contraseña se cambió desde DirectAdmin y PrestaShop sigue usando la antigua.

Pasos:

  1. Entra en DirectAdmin.
  2. Busca la sección "MySQL Management" o "Database Management".
  3. Verás la lista de bases de datos y usuarios.
  4. Si no recuerdas la contraseña, puedes cambiarla desde aquí (botón "Change Password").

[INFO] En DirectAdmin, el nombre de la base de datos y el usuario suelen tener un prefijo con tu nombre de usuario. Por ejemplo: miusuario_mitienda. Asegúrate de que en parameters.php está exactamente ese nombre completo.

Cómo actualizar la contraseña en PrestaShop:

  1. Entra en el archivo parameters.php con el editor de DirectAdmin.
  2. Localiza la línea 'database_password' => '...'.
  3. Sustituye la contraseña antigua por la nueva.
  4. Guarda el archivo.

Paso 4: Comprueba los permisos del usuario de la base de datos

Aunque tengas la contraseña correcta, el usuario de MySQL debe tener permisos para acceder a esa base de datos. Esto es más común de lo que parece, sobre todo si has creado una nueva base de datos y has asignado mal los privilegios.

Cómo verificarlo:

  1. En DirectAdmin, ve a "MySQL Management".
  2. Haz clic en "Manage" junto a tu base de datos.
  3. Asegúrate de que el usuario que usa PrestaShop aparece en la lista de usuarios con permisos.
  4. Si no aparece, añádelo y marca "ALL PRIVILEGES".

[TIP] Si tienes acceso a phpMyAdmin, puedes ir a la pestaña "Privilegios" y verificar que el usuario tiene todos los permisos sobre la base de datos correcta.


Paso 5: Revisa si el problema es el puerto de conexión

Por defecto, MySQL usa el puerto 3306. Pero en algunos servidores con DirectAdmin, sobre todo si hay varios sitios, el puerto puede cambiar.

Qué hacer:

  1. Abre parameters.php.
  2. Busca la línea 'database_port' => '3306'.
  3. Si no existe, añádela con el valor 3306.
  4. Si tu proveedor te ha indicado otro puerto, cámbialo.

[WARNING] No confundas el puerto de MySQL con el puerto de acceso a DirectAdmin. El puerto de DirectAdmin suele ser el 2222. Si tu hosting usa Syspanel (antes llamado HestiaCP), el puerto de acceso al panel es el 2106, no el 3306.


Paso 6: Limpia la caché de PrestaShop

A veces, PrestaShop guarda datos antiguos en su caché, y aunque hayas corregido el archivo de configuración, sigue intentando conectar con los datos viejos.

Cómo limpiar la caché:

  1. Accede a tu hosting por FTP o al administrador de archivos de DirectAdmin.
  2. Ve a la carpeta /var/cache/ dentro de la instalación de PrestaShop.
  3. Borra todo el contenido de esa carpeta (pero no la carpeta en sí).
  4. También puedes borrar la carpeta /cache/smarty/compile/ en versiones 1.6.

[TIP] Si no puedes acceder al panel de administración de PrestaShop, borrar la caché manualmente suele resolver el bloqueo.


Paso 7: Comprueba los límites de conexiones simultáneas

Si tu tienda recibe mucho tráfico, es posible que el servidor haya alcanzado el límite máximo de conexiones a MySQL. Esto produce errores intermitentes de conexión.

Soluciones:

  • Aumenta el valor max_connections en el archivo de configuración de MySQL (requiere acceso a SSH o al panel de administración del servidor).
  • Optimiza las consultas de tu tienda desactivando módulos innecesarios.
  • Contacta con tu proveedor para que aumente el límite si estás en hosting compartido.

Paso 8: Revisa los permisos de archivos y carpetas

Un error de conexión a BD a veces se debe a que PrestaShop no puede escribir en ciertas carpetas, lo que provoca fallos al intentar acceder a la base de datos.

Permisos recomendados:

  • Carpetas: 755
  • Archivos: 644
  • Carpeta config/: 755
  • Carpeta var/ o cache/: 755

Cómo cambiarlos:

  1. En el administrador de archivos de DirectAdmin, selecciona la carpeta.
  2. Haz clic derecho → "Change Permissions".
  3. Escribe el número correspondiente.

Paso 9: Verifica que no haya conflictos con el archivo .htaccess

Un .htaccess corrupto puede redirigir las peticiones internas y provocar que PrestaShop no encuentre la base de datos.

Solución:

  1. Renombra el archivo .htaccess a .htaccess.bak.
  2. Prueba a cargar tu tienda.
  3. Si funciona, regenera el .htaccess desde el panel de administración (Parámetros avanzados → Rendimiento → Generar .htaccess).

[WARNING] Si renombras .htaccess, tu tienda puede perder las URLs amigables temporalmente. Es solo para diagnóstico.


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

Si has probado todo y el error persiste, es posible que el archivo parameters.php esté dañado de forma irreparable.

Qué hacer:

  1. Ve a tu panel de hosting y busca las copias de seguridad automáticas.
  2. Descarga la copia más reciente del archivo parameters.php.
  3. Sustituye el archivo actual por el de la copia.

[TIP] En DirectAdmin, puedes encontrar backups en la sección "Backup/Restore" o en la carpeta backups/ de tu cuenta.


Preguntas frecuentes (FAQ)

¿Puedo perder mis productos si borro la caché?

No. La caché solo almacena datos temporales de rendimiento. Tus productos, pedidos y clientes están en la base de datos, que no se toca al limpiar la caché.

¿Qué hago si no encuentro el archivo parameters.php?

Asegúrate de que estás buscando en la raíz de la instalación de PrestaShop, no en la raíz del dominio. Si usas un subdirectorio, el archivo estará dentro de esa carpeta.

¿Por qué el puerto de DirectAdmin es 2222 y el de Syspanel es 2106?

Cada panel de control usa su propio puerto. DirectAdmin usa el 2222 por defecto. Si tu proveedor usa Syspanel (antes HestiaCP), el acceso es por el puerto 2106. Esto no afecta a la conexión de MySQL, que usa el puerto 3306.

¿Debo contactar con mi proveedor de hosting?

Si después de todos estos pasos el error persiste, sí. Puede ser un problema a nivel de servidor que solo ellos pueden resolver, como un fallo en el servicio MySQL o un bloqueo por IP.


Resumen final: checklist rápido

Aquí tienes una lista para repasar antes de rendirte:

  • MySQL está activo en DirectAdmin.
  • La contraseña en parameters.php coincide con la de DirectAdmin.
  • El nombre de la base de datos y usuario tienen el prefijo correcto.
  • El usuario tiene permisos completos sobre la base de datos.
  • El puerto de MySQL es el 3306 (o el indicado por tu proveedor).
  • Has limpiado la caché de PrestaShop.
  • Los permisos de carpetas son los correctos.
  • El .htaccess no está corrupto.
  • Has probado con una copia de seguridad del archivo de configuración.

Conclusión

El error base datos PrestaShop en un entorno DirectAdmin PrestaShop es un problema común pero totalmente solucionable. La mayoría de las veces se debe a un cambio de contraseña, a un servicio MySQL caído o a un archivo de configuración desactualizado. Con esta guía paso a paso, podrás aplicar la solución error PrestaShop sin necesidad de conocimientos avanzados.

Recuerda siempre trabajar con calma, hacer copias de seguridad antes de modificar archivos y, si te sientes perdido, no dudes en pedir ayuda a tu proveedor de hosting. Ellos tienen acceso directo al servidor y pueden diagnosticar el problema en minutos.

[INFO] Si después de todo sigues con problemas para la conexión BD PrestaShop, revisa los logs de error de tu servidor. En DirectAdmin puedes encontrar los logs de MySQL en la sección "Logs" o en ~/logs/mysql_error.log. Esa información será oro puro para el soporte técnico.

¿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