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

Solución a errores comunes de conexión a base de datos en PrestaShop con DirectAdmin

Actualizado el 6 de junio de 2026

¿Tu tienda PrestaShop se ha quedado congelada o muestra un mensaje de error que menciona la base de datos? No te preocupes, es una de las incidencias más habituales al gestionar un ecommerce, especialmente cuando trabajas con un panel de control como DirectAdmin. En esta guía completa, te explicaré paso a paso cómo solucionar los errores de conexión a la base de datos en PrestaShop cuando está alojado en un servidor con DirectAdmin. Vamos a desglosar las causas más comunes y las soluciones prácticas, desde lo más básico hasta ajustes avanzados, para que puedas recuperar tu tienda en minutos.

¿Por qué aparece el error base datos PrestaShop DirectAdmin?

El error de conexión a la base de datos en PrestaShop suele manifestarse con mensajes como "Error de conexión a la base de datos" o "PrestaShop no conecta base datos". Esto puede deberse a varias razones, desde un cambio de contraseña hasta un problema de permisos en el servidor. En DirectAdmin, la gestión de bases de datos MySQL/MariaDB es bastante intuitiva, pero un pequeño descuido puede dejar tu tienda fuera de línea.

[INFO] Este artículo está pensado para usuarios que tienen su PrestaShop en un servidor con DirectAdmin. Si usas Syspanel (antes HestiaCP), recuerda que el acceso se hace por el puerto 2106 y los conceptos son similares, aunque la interfaz varía ligeramente.

1. Verifica que los datos de conexión sean correctos

El primer paso ante un error de base de datos es asegurarte de que los datos de acceso están bien escritos. PrestaShop guarda esta información en el archivo app/config/parameters.php. Si has cambiado la contraseña de la base de datos o has movido el sitio, este archivo puede tener valores antiguos.

Pasos para revisar los parámetros de conexión

  1. Accede a tu panel de DirectAdmin y ve a Administrador de archivos.
  2. Navega hasta la carpeta raíz de tu PrestaShop (normalmente public_html o dominio.com).
  3. Abre la carpeta app/config y busca el archivo parameters.php.
  4. Haz clic derecho y selecciona Editar (o descárgalo y edítalo con un editor de texto como Notepad++).
  5. Busca las líneas que comienzan con 'database_host', 'database_name', 'database_user' y 'database_password'.

Ejemplo de cómo debería verse:

'database_host' => 'localhost',
'database_name' => 'usuario_prestashop',
'database_user' => 'usuario_prestashop',
'database_password' => 'contraseña_segura',

[WARNING] Asegúrate de que no haya espacios en blanco al inicio o final de los valores, y que la contraseña no contenga caracteres especiales que puedan romper la sintaxis PHP (como comillas simples sin escapar).

Si los datos son correctos pero el error persiste, pasa al siguiente punto.

2. Comprueba que la base de datos y el usuario existan en DirectAdmin

A veces, al migrar o restaurar una copia de seguridad, la base de datos o el usuario asociado pueden no haberse creado correctamente. DirectAdmin te permite gestionar ambos desde su interfaz.

Cómo verificar en DirectAdmin

  1. Inicia sesión en DirectAdmin y busca la sección MySQL Management (o Base de datos MySQL).
  2. Verás una lista de bases de datos existentes. Busca la que coincide con el nombre en tu parameters.php.
  3. Si no aparece, significa que debes crearla. Haz clic en Crear nueva base de datos y asigna un nombre (por ejemplo, usuario_prestashop).
  4. También verifica que el usuario de la base de datos (database_user) exista. Si no, créalo desde la misma sección y asígnale una contraseña segura.
  5. Importante: Concede todos los privilegios al usuario sobre la base de datos. En DirectAdmin, al crear un usuario, suele asignarse automáticamente, pero si no, usa la opción Administrar privilegios y selecciona todos los permisos.

[TIP] Si tu base de datos tiene un nombre como usuario_bd, en DirectAdmin a menudo se muestra como usuario_bd (sin el prefijo del usuario). Asegúrate de que el nombre en parameters.php coincida exactamente, incluyendo mayúsculas/minúsculas.

3. Soluciona el problema del host de la base de datos

Uno de los errores más comunes al configurar PrestaShop en DirectAdmin es usar un host incorrecto. Aunque la mayoría de los servidores usan localhost, algunos configuraciones avanzadas requieren una IP o un socket específico.

¿Qué host deberías usar?

  • localhost (recomendado): Funciona en el 99% de los casos.
  • 127.0.0.1: Alternativa a localhost.
  • IP del servidor: Solo si tu base de datos está en un servidor diferente (no es habitual en hosting compartido).

Si después de probar localhost sigues viendo el error "PrestaShop no conecta base datos", contacta con tu proveedor de hosting para confirmar el host correcto. En DirectAdmin, a veces el servidor MySQL escucha en un socket Unix, pero PrestaShop maneja esto automáticamente si usas localhost.

4. Revisa los permisos de los archivos de configuración

Los archivos de PrestaShop, especialmente parameters.php, deben tener permisos de lectura para el usuario del servidor web (por ejemplo, www-data o nobody). Si los permisos son demasiado restrictivos, el sistema no podrá leer la configuración y lanzará un error de conexión.

Cómo ajustar permisos en DirectAdmin

  1. Ve a Administrador de archivos.
  2. Navega a app/config/parameters.php.
  3. Haz clic derecho sobre el archivo y selecciona Cambiar permisos.
  4. Establece los permisos a 644 (lectura/escritura para el propietario, solo lectura para grupo y otros). Esto es seguro y suficiente.
  5. Si el error persiste, prueba con 755 temporalmente, pero no lo dejes así por seguridad.

[WARNING] Nunca pongas permisos 777 en archivos de configuración. Podrías exponer tu base de datos a ataques.

5. Verifica que el servicio MySQL/MariaDB esté activo

A veces el problema no está en tu configuración, sino en que el servicio de base de datos se ha detenido. En DirectAdmin, aunque no tengas acceso directo a la terminal, puedes comprobarlo desde el panel.

Pasos para comprobar el servicio

  1. En DirectAdmin, busca System Info & Monitoring o Service Monitor.
  2. Busca el servicio MySQL o MariaDB. Debe aparecer como "Running" o "Activo".
  3. Si está detenido, haz clic en Iniciar o contacta a tu proveedor de hosting para que lo reinicien.

Si no ves esta opción, puedes usar una herramienta como phpMyAdmin (accesible desde DirectAdmin) para verificar la conexión. Si phpMyAdmin tampoco funciona, el problema es del servidor.

6. Corrige problemas con el prefix de las tablas

En PrestaShop, el archivo parameters.php incluye un 'database_prefix' (por ejemplo, ps_). Si has restaurado una copia de seguridad de otra instalación, el prefijo puede no coincidir. Esto no da un error directo de conexión, pero puede causar que las tablas no se encuentren.

Cómo verificar el prefijo

  1. Abre phpMyAdmin desde DirectAdmin.
  2. Selecciona tu base de datos.
  3. Observa los nombres de las tablas. Deberían comenzar con un prefijo (ej. ps_orders, ps_product).
  4. En parameters.php, busca 'database_prefix' y asegúrate de que coincida. Si no hay prefijo, déjalo como cadena vacía ''.

[INFO] Si cambias el prefijo, PrestaShop intentará usar las tablas con ese nuevo nombre. Si no existen, la tienda no cargará. Es mejor mantener el original.

7. Soluciona errores de codificación o colación

A veces, la base de datos tiene una colación (collation) incorrecta que impide la conexión. Aunque PrestaShop suele manejarlo, si has importado una base de datos con otro juego de caracteres, puede dar problemas.

Cómo ajustar la colación

  1. En phpMyAdmin, selecciona tu base de datos.
  2. Ve a la pestaña Operaciones.
  3. En Colación, elige utf8_general_ci o utf8mb4_general_ci (recomendado para PrestaShop 1.7+).
  4. Haz clic en Ejecutar.

Esto no debería romper nada, pero si tienes dudas, haz una copia de seguridad antes.

8. Revisa el archivo .htaccess y la configuración de PHP

Un .htaccess mal configurado puede bloquear el acceso a los archivos de configuración o redirigir las peticiones de forma incorrecta. También, los límites de PHP (como memory_limit) pueden causar errores al conectar.

Pasos para depurar

  1. En el Administrador de archivos, busca el archivo .htaccess en la raíz de PrestaShop.
  2. Renómbralo temporalmente a .htaccess_backup para desactivarlo.
  3. Prueba a cargar tu tienda. Si funciona, el problema está en el .htaccess. Puedes regenerarlo desde el panel de administración de PrestaShop (si accedes) o copiar uno por defecto.
  4. También verifica los valores de PHP en DirectAdmin: ve a PHP Settings o Select PHP Version y asegúrate de que memory_limit sea al menos 128M y max_execution_time 120.

[TIP] Si no puedes acceder al panel de administración, prueba a conectar directamente a la base de datos desde phpMyAdmin. Si phpMyAdmin funciona, el error está en la configuración de PrestaShop, no en la base de datos.

9. Reinstala o repara PrestaShop desde cero (último recurso)

Si nada de lo anterior funciona, puede que la instalación de PrestaShop esté corrupta. En ese caso, una reinstalación limpia es la solución, pero conservando tus datos.

Cómo hacerlo sin perder datos

  1. Haz una copia de seguridad de tu base de datos desde phpMyAdmin (exportar SQL) y de los archivos (descarga la carpeta public_html).
  2. Descarga una copia nueva de PrestaShop desde la web oficial.
  3. Sube los archivos a tu servidor (sobrescribiendo los existentes) excepto:
    • app/config/parameters.php (para mantener la configuración de BD).
    • La carpeta img (para conservar imágenes de productos).
    • La carpeta themes (si tienes un tema personalizado).
  4. Ve a tu dominio y ejecuta el instalador. Cuando te pida la base de datos, elige No instalar, solo conectar (o similar) y proporciona los datos de tu base de datos existente.
  5. El instalador actualizará las tablas si es necesario.

Esto suele resolver errores profundos de conexión.

Preguntas frecuentes (FAQ)

¿Qué hago si el error aparece después de cambiar la contraseña en DirectAdmin?

Actualiza el archivo parameters.php con la nueva contraseña. Si no recuerdas la contraseña, puedes cambiarla desde MySQL Management en DirectAdmin y luego editar el archivo.

¿Puedo usar un plugin de caché para evitar estos errores?

No, los plugins de caché no solucionan problemas de conexión a la base de datos. Primero debes resolver la causa raíz. Una vez que la conexión funcione, puedes optimizar con caché.

Mi tienda da error solo en algunas páginas, ¿qué puede ser?

Probablemente no es un error de conexión, sino de tablas corruptas. Ve a phpMyAdmin, selecciona la base de datos y haz clic en Reparar tablas. También puedes ejecutar el comando SQL REPAIR TABLE nombre_tabla;.

¿Syspanel (HestiaCP) es igual que DirectAdmin para esto?

Los conceptos son los mismos, pero la interfaz cambia. En Syspanel, accedes por el puerto 2106 y la gestión de bases de datos está en Base de datos. El archivo parameters.php se edita igual. Si tienes dudas, consulta la documentación de Syspanel.

¿Necesito conocimientos de programación para solucionarlo?

No. Con seguir los pasos de esta guía, cualquier usuario sin experiencia técnica puede resolverlo. Solo necesitas acceso a DirectAdmin y un editor de texto.

Resumen final

Los errores de conexión a la base de datos en PrestaShop con DirectAdmin son comunes, pero casi siempre tienen solución. Empieza por lo más básico: revisa los datos en parameters.php, verifica que la base de datos y el usuario existan en DirectAdmin, y comprueba que el servicio MySQL esté activo. Si nada funciona, no dudes en contactar a tu proveedor de hosting, ya que a veces el problema está en su infraestructura.

Recuerda que mantener copias de seguridad periódicas de tu base de datos y archivos te salvará de muchos dolores de cabeza. ¡Tu tienda volverá a estar en línea 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