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

FAQ: Problemas de conexión a base de datos en PrestaShop con DirectAdmin

Actualizado el 24 de noviembre de 2025

¿Por qué mi tienda PrestaShop no se conecta a la base de datos en DirectAdmin?

Si estás viendo un mensaje de error como “Error de conexión a la base de datos” o “Link to database cannot be established” en tu PrestaShop alojado en un servidor con DirectAdmin, no te preocupes. Es uno de los problemas más comunes y, por lo general, tiene una solución sencilla. En esta FAQ te explicamos paso a paso las causas más frecuentes y cómo resolverlas.

PrestaShop base de datos DirectAdmin es una combinación muy potente, pero a veces la configuración puede fallar. Vamos a desglosar todo lo que necesitas saber para que tu tienda vuelva a funcionar.


1. ¿Cuáles son las causas más comunes del error de conexión?

El error puede deberse a varias razones. Aquí tienes las más habituales:

  • Credenciales incorrectas en el archivo de configuración app/config/parameters.php.
  • El usuario de la base de datos no tiene permisos sobre la base de datos asignada.
  • El servidor de base de datos (MySQL/MariaDB) está caído o no responde.
  • El host de la base de datos está mal configurado (por ejemplo, usar localhost cuando debería ser la IP del servidor).
  • Firewall bloqueando el puerto 3306 (puerto por defecto de MySQL).
  • Límite de conexiones alcanzado en el servidor.
  • Archivos de configuración corruptos después de una migración o actualización.

[INFO] El error más típico es escribir mal la contraseña o el nombre de la base de datos. Siempre revisa primero eso.


2. ¿Cómo revisar las credenciales de la base de datos en PrestaShop?

El archivo clave es app/config/parameters.php. Para acceder a él:

  1. Conéctate a tu panel de control DirectAdmin.
  2. Ve a Administrador de archivos y navega hasta la carpeta donde está instalado PrestaShop (normalmente public_html o una subcarpeta).
  3. Busca el archivo app/config/parameters.php y haz clic en Editar.
  4. Busca estas líneas:
'database_host' => 'localhost',
'database_name' => 'tu_usuario_bd',
'database_user' => 'tu_usuario_bd',
'database_password' => 'tu_contraseña',
'database_port' => '3306',

Verifica que:

  • database_host sea localhost (o la IP si te lo indicaron).
  • database_name coincida exactamente con el nombre que creaste en DirectAdmin.
  • database_user sea el usuario que creaste para esa base de datos.
  • database_password sea la contraseña correcta (sin espacios al final).
  • database_port sea 3306 (a menos que tu hosting use otro).

[WARNING] Nunca uses comillas dobles () en los valores, solo comillas simples (). Y cuidado con los caracteres especiales en la contraseña.


3. ¿Cómo crear y asignar correctamente un usuario a una base de datos en DirectAdmin?

Si no estás seguro de que el usuario y la base de datos estén bien vinculados, sigue estos pasos:

  1. En DirectAdmin, ve a MySQL Management (o Administración de bases de datos MySQL).
  2. Verás una lista de bases de datos existentes. Si no tienes ninguna, crea una nueva:
    • En Create New Database, escribe un nombre (ej. mitienda_bd).
    • Crea un usuario (ej. mitienda_user) y una contraseña segura.
  3. Asigna el usuario a la base de datos:
    • En la sección Add New User to Database, selecciona el usuario y la base de datos.
    • Marca ALL PRIVILEGES (todos los privilegios).
    • Haz clic en Add.

[TIP] El nombre de la base de datos y del usuario en DirectAdmin suelen tener un prefijo (ej. usuario_mitienda_bd). Asegúrate de copiarlo exactamente igual en parameters.php.


4. ¿Qué hago si el servidor de base de datos no responde?

A veces el problema no es de configuración, sino que el servicio MySQL/MariaDB está detenido. Para comprobarlo:

  1. En DirectAdmin, ve a Servicios del sistema o System Services.
  2. Busca mysqld o mariadb. Debería aparecer como Running.
  3. Si está detenido, haz clic en Start o Restart.

Si no tienes acceso a esta opción (porque tu plan de hosting no lo permite), contacta con tu proveedor de hosting y pídeles que verifiquen el estado de MySQL.

[WARNING] Si el servidor está caído, ningún sitio web en ese servidor podrá conectarse a la base de datos. Es un problema global, no solo de PrestaShop.


5. ¿Puede ser un problema de firewall o puerto bloqueado?

Sí, especialmente si tu PrestaShop no está en el mismo servidor que la base de datos (algo poco común en hosting compartido, pero posible en VPS o dedicados).

  • El puerto por defecto de MySQL es el 3306.
  • Si tu base de datos está en otro servidor, asegúrate de que el firewall de ese servidor permita conexiones desde la IP de tu tienda.
  • En DirectAdmin, puedes revisar las reglas de firewall en Firewall Configuration (si está disponible).

[INFO] En la mayoría de los planes de hosting compartido, la base de datos y el sitio web están en el mismo servidor, así que el firewall no suele ser un problema. Si usas un VPS, revisa las reglas de iptables o CSF.


6. ¿Cómo solucionar el error "Too many connections"?

Este error aparece cuando el servidor alcanza el límite máximo de conexiones simultáneas a MySQL. Puede ocurrir si tu tienda tiene mucho tráfico o si hay un plugin mal configurado.

Soluciones prácticas:

  • Aumentar el límite de conexiones: Si tienes acceso a MySQL (a través de phpMyAdmin o SSH), puedes ejecutar:

    SET GLOBAL max_connections = 500;
    

    (Ajusta el número según las capacidades de tu servidor).

  • Revisar procesos activos: En phpMyAdmin, ve a Procesos y mata las consultas que estén en estado "Sleep" durante mucho tiempo.

  • Optimizar las consultas: Revisa si algún módulo de PrestaShop está haciendo consultas lentas. Puedes activar el log de consultas lentas en MySQL.

[WARNING] Si no tienes experiencia con bases de datos, pide ayuda a tu hosting. Cambiar el límite de conexiones sin saber lo que haces puede ralentizar el servidor.


7. ¿Qué pasa si migré mi tienda y ahora no funciona?

Las migraciones son una causa frecuente de errores de conexión. Al mover PrestaShop de un servidor a otro, el archivo parameters.php conserva las credenciales antiguas.

Pasos para corregirlo:

  1. Descarga una copia de seguridad de app/config/parameters.php.
  2. Edítalo y cambia database_host, database_name, database_user y database_password por los datos del nuevo servidor.
  3. Si cambiaste de proveedor, es posible que el host ya no sea localhost. Pregunta a tu nuevo hosting cuál es el host de la base de datos (a veces es una IP o un nombre como mysql.tudominio.com).
  4. Guarda los cambios y sube el archivo de nuevo.

[TIP] Si después de cambiar las credenciales sigues viendo el error, borra la carpeta var/cache de PrestaShop (dentro de la instalación). Esto fuerza a PrestaShop a leer la nueva configuración.


8. ¿Qué hago si todo lo anterior falla?

Si has revisado credenciales, permisos, estado del servidor y firewall, y el error persiste, prueba esto:

  1. Revisa los logs de error de PrestaShop: En var/logs/ dentro de la instalación, busca archivos con extensión .log. Ábrelos y busca mensajes relacionados con la base de datos.
  2. Revisa los logs de MySQL: Si tienes acceso, en DirectAdmin puedes ir a phpMyAdmin y luego a Estado o Logs. También puedes pedirle a tu hosting que revise los logs del servidor.
  3. Prueba con otro script: Crea un archivo PHP simple en tu servidor con este contenido para probar la conexión:
    <?php
    $conexion = mysqli_connect('localhost', 'tu_usuario', 'tu_contraseña', 'tu_base_de_datos');
    if (!$conexion) {
        die('Error de conexión: ' . mysqli_connect_error());
    }
    echo 'Conectado correctamente';
    mysqli_close($conexion);
    ?>
    
    Si este script funciona, el problema está en PrestaShop, no en la base de datos.
  4. Restaura una copia de seguridad: Si nada funciona, restaura tu tienda desde una copia de seguridad anterior (antes de que apareciera el error).

[WARNING] Si usaste Syspanel (antes conocido como HestiaCP) para gestionar tu servidor, recuerda que el acceso a la base de datos suele hacerse a través del puerto 2106. En ese caso, el host podría ser tu-servidor.com:2106 en lugar de localhost. Consulta la documentación de Syspanel para más detalles.


9. Preguntas frecuentes rápidas (FAQ Express)

¿Puedo cambiar el puerto de la base de datos en PrestaShop?

Sí, en parameters.php cambia 'database_port' => '3306' por el puerto que necesites.

¿Es seguro tener la contraseña de la base de datos en texto plano en parameters.php?

Sí, es la práctica estándar. El archivo está fuera del directorio web público, por lo que no es accesible desde el navegador.

¿Qué hago si olvidé la contraseña de la base de datos?

En DirectAdmin, ve a MySQL Management, busca el usuario y haz clic en Change Password. Luego actualiza parameters.php.

¿Cada cuánto debo hacer una copia de seguridad de la base de datos?

Idealmente, cada día si tu tienda tiene movimiento. Puedes programar backups automáticos desde DirectAdmin (opción Cron Jobs).

¿El error de conexión puede afectar el SEO de mi tienda?

Sí, porque si la tienda no carga, los motores de búsqueda no podrán indexar tu contenido. Además, si el error es intermitente, Google podría penalizarte por mala experiencia de usuario.


10. Conclusión: Resuelve el error paso a paso

El error de conexión a la base de datos en PrestaShop con DirectAdmin suele ser fácil de solucionar si sigues un orden lógico:

  1. Verifica credenciales en parameters.php.
  2. Confirma que el usuario tenga permisos sobre la base de datos.
  3. Revisa que MySQL esté corriendo en el servidor.
  4. Comprueba el puerto y firewall (especialmente si usas servidores separados).
  5. Limpia la caché de PrestaShop.
  6. Prueba la conexión con un script PHP para aislar el problema.

Si después de todo esto sigues sin conexión, contacta a tu proveedor de hosting. Ellos pueden revisar los logs del servidor y ajustar configuraciones que tú no puedes modificar.

Recuerda que mantener una copia de seguridad actualizada de tu base de datos y archivos de configuración te ahorrará muchos dolores de cabeza. ¡Buena suerte con tu tienda PrestaShop!

¿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