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

PrestaShop: Cómo solucionar el error 'No se puede conectar a la base de datos'

Actualizado el 21 de septiembre de 2025

¡Hola! Si estás leyendo esto, es muy probable que hayas intentado abrir tu tienda PrestaShop y te hayas encontrado con un mensaje bastante desagradable: "No se puede conectar a la base de datos". No te preocupes, es uno de los errores más comunes en el mundo del hosting y, aunque parezca grave, casi siempre tiene una solución sencilla que puedes aplicar tú mismo sin ser un experto informático.

En esta guía extensa y paso a paso, vamos a desglosar todas las causas posibles de este error y, lo más importante, cómo solucionarlo. Vamos a ir desde lo más básico (como un corte de luz en el servidor) hasta lo más técnico (como editar archivos de configuración). Respira hondo, coge un café y vamos a ello.


Entendiendo el error: ¿Qué significa exactamente "No se puede conectar a la base de datos"?

Antes de lanzarnos a tocar cosas, es fundamental entender qué está pasando. Imagina que tu tienda PrestaShop es una biblioteca enorme (tu web) y la base de datos es el almacén donde se guardan todos los libros (productos, clientes, pedidos, contraseñas).

El mensaje de error significa que la puerta del almacén no se está abriendo o que no encontramos la llave correcta. Es decir, PrestaShop no puede comunicarse con el servidor donde se guardan tus datos. Sin esa comunicación, la tienda no puede mostrar nada, ni siquiera un producto.

Las razones pueden ser varias, pero las agruparemos en 4 grandes bloques para que sea más fácil de diagnosticar:

  1. Problemas temporales del servidor (el almacén está cerrado por reformas).
  2. Datos de acceso incorrectos (la llave no es la correcta).
  3. Archivos de configuración corruptos (hemos perdido el mapa del almacén).
  4. Problemas con los archivos de la tienda (el edificio de la biblioteca está dañado).

Vamos a atacar el problema en ese orden, de lo más simple a lo más complejo.


## Fase 1: Diagnóstico Rápido (El "Apaga y Enciende")

Esta es la regla de oro de cualquier sistema. Muchas veces el error error base de datos PrestaShop se debe a un fallo momentáneo del servidor de bases de datos (MySQL o MariaDB). Piensa en ello como un hipo en el sistema.

### Paso 1: Reiniciar el Servicio de Base de Datos (Si tienes acceso a Syspanel o cPanel)

Si tu hosting es de tipo VPS o dedicado y gestionas tu propio servidor, lo primero es intentar reiniciar el servicio.

  • Si usas Syspanel: Accede a tu panel de control en https://tu-dominio.com:2106. Una vez dentro, busca la sección de "Servicios" o "Servidores". Localiza el servicio de MySQL o MariaDB y haz clic en "Reiniciar". Espera un par de minutos y prueba a cargar tu tienda de nuevo.
  • Si usas cPanel: Ve a la sección de "Métricas del servidor" o "Estado del servidor" y busca el icono de MySQL. A veces no puedes reiniciarlo directamente, pero verás si está caído. En ese caso, contacta con tu proveedor de hosting.

[TIP] Si no tienes acceso a estos paneles, no te preocupes. Contacta con tu proveedor de hosting y pregúntales si el servidor de bases de datos está activo. Es una pregunta muy común y te responderán rápido.

### Paso 2: Comprobar el Estado del Servidor (¿Está todo en mantenimiento?)

A veces, el error no es de tu tienda, sino del propio servidor. Puede que estén haciendo un mantenimiento programado o que haya habido una caída general.

  • Revisa si otras webs en el mismo servidor (si las tienes) funcionan.
  • Visita foros o páginas de estado de tu proveedor de hosting.
  • Simplemente, espera 15 minutos. Muchas veces la caída es momentánea y se soluciona sola.

## Fase 2: Verificar la Configuración de la Base de Datos (La Llave y el Candado)

Si el servidor está activo y el error persiste, es hora de comprobar que PrestaShop tiene las llaves correctas para abrir el almacén. Estas llaves se guardan en un archivo llamado parameters.php.

### Paso 3: Localizar y Editar el Archivo parameters.php

Este archivo es la "caja negra" de la conexión. Está en la raíz de tu instalación de PrestaShop, en la carpeta config/.

  1. Accede a tu hosting mediante FTP (con FileZilla, por ejemplo) o a través del administrador de archivos de tu panel de control (Syspanel, cPanel, etc.).
  2. Navega a la carpeta raíz de tu tienda. Normalmente es public_html/ o www/.
  3. Entra en la carpeta config/.
  4. Busca el archivo parameters.php. Haz una copia de seguridad (descárgalo a tu ordenador) antes de tocarlo. Esto es crucial por si algo sale mal.

### Paso 4: Comprobar los Datos de Conexión

Abre el archivo parameters.php con un editor de texto (como Notepad++ o el editor del propio panel). Verás una estructura similar a esta:

<?php
return array(
    'parameters' => array(
        'database_host' => 'localhost',
        'database_port' => '3306',
        'database_name' => 'tu_base_de_datos',
        'database_user' => 'tu_usuario',
        'database_password' => 'tu_contraseña',
        'database_prefix' => 'ps_',
        // ... otros parámetros
    ),
);

[WARNING] Ten MUCHO cuidado al editar este archivo. Un error de sintaxis (una comilla mal puesta, un punto y coma de más) puede romper tu tienda por completo. Haz una copia de seguridad antes de guardar los cambios.

Ahora, compara estos datos con los que tienes en tu panel de control de hosting:

  • database_host: Normalmente es localhost, pero a veces puede ser una dirección como mysql.tudominio.com o sql123.yourhosting.com. Consulta la información de tu hosting si no estás seguro.
  • database_name: El nombre exacto de tu base de datos. Cuidado con las mayúsculas y minúsculas.
  • database_user: El nombre de usuario de la base de datos. Debe coincidir exactamente.
  • database_password: La contraseña de ese usuario. Es el punto más común de error. Asegúrate de que no tiene espacios al principio o al final.

Si has cambiado la contraseña de tu base de datos recientemente, este es el motivo del error. Actualiza el archivo con la nueva contraseña y guarda los cambios.

[TIP] Si no recuerdas la contraseña, la mayoría de los paneles de control (Syspanel, cPanel) te permiten cambiarla fácilmente. Ve a la sección de "Bases de datos MySQL", busca tu base de datos y cambia la contraseña del usuario. Luego, pega esa nueva contraseña en el archivo parameters.php.


## Fase 3: Reparar la Base de Datos (El Almacén Está Desordenado)

A veces, la conexión funciona pero la base de datos en sí está dañada o corrupta. Esto puede pasar por cortes de energía durante una actualización, por ejemplo. PrestaShop no puede leer los datos porque están "rotos".

### Paso 5: Usar phpMyAdmin para Reparar

La herramienta más común para gestionar bases de datos es phpMyAdmin. La encontrarás en tu panel de control.

  1. Accede a phpMyAdmin desde tu panel de hosting (Syspanel, cPanel, etc.).
  2. Selecciona tu base de datos en la columna de la izquierda.
  3. Verás una lista de tablas (todas empiezan con el prefijo ps_ por defecto).
  4. Haz clic en el enlace de abajo que dice "Marcar todas" (o "Check All").
  5. En el menú desplegable "Con selección:", elige la opción "Reparar la tabla" (o "Repair table").

Esto intentará arreglar cualquier error lógico en las tablas. El proceso puede tardar unos minutos si tu base de datos es grande. Una vez terminado, vuelve a tu tienda y comprueba si el error ha desaparecido.

[INFO] Si la reparación falla o se queda atascada, es señal de que el daño es más profundo. En ese caso, necesitarás restaurar una copia de seguridad de tu base de datos desde antes del error.


## Fase 4: Soluciones Avanzadas (Cuando Todo lo Demás Falla)

Si has llegado hasta aquí y el error persiste, el problema puede ser más profundo. No te desanimes, aún hay esperanza.

### Paso 6: Limpiar la Carpeta de Caché (El Mapa Está Obsoleto)

PrestaShop genera archivos de caché para acelerar la carga de la web. A veces, estos archivos se corrompen y causan conflictos.

  1. Ve a la raíz de tu instalación de PrestaShop.
  2. Busca la carpeta var/cache. Dentro, hay subcarpetas con nombres como dev y prod.
  3. Elimina el contenido de la carpeta prod (y si existe, la dev). No borres la carpeta en sí, solo su contenido. Puedes borrar los archivos con el FTP o con el administrador de archivos.

[WARNING] No borres la carpeta cache de la raíz, solo la carpeta var/cache. La primera es para el sistema y la segunda es la caché de PrestaShop.

Después de limpiar la caché, intenta acceder a tu tienda. A veces, el error conexión BD PrestaShop se debe a un problema de caché de configuración.

### Paso 7: Cambiar los Permisos de Archivos (El Edificio Está Bloqueado)

Si el servidor no puede leer el archivo parameters.php o la carpeta config, dará error. Esto se soluciona cambiando los permisos.

  1. Con tu cliente FTP, selecciona la carpeta config y la carpeta var.
  2. Haz clic derecho y selecciona "Permisos de archivo" o "File Permissions".
  3. Cambia el valor numérico a 755 para las carpetas.
  4. Aplica los cambios de forma recursiva (a todas las subcarpetas y archivos).

Esto le da al servidor permiso de lectura y escritura, pero no de ejecución para otros usuarios. Es la configuración estándar y segura.

### Paso 8: Revisar el Archivo .htaccess (El Guardián de la Puerta)

Un archivo .htaccess corrupto puede redirigir mal las peticiones y provocar errores extraños.

  1. En la raíz de tu PrestaShop, busca el archivo .htaccess. Es un archivo oculto, así que asegúrate de que tu FTP muestra archivos ocultos.
  2. Descarga una copia del archivo a tu ordenador para tener un respaldo.
  3. Elimina el archivo .htaccess del servidor.
  4. Intenta acceder a tu tienda. PrestaShop lo regenerará automáticamente en la mayoría de los casos.

[TIP] Si tu tienda funciona después de borrarlo, genial. Pero si no se regenera, tendrás que crear uno nuevo. Puedes usar un archivo .htaccess por defecto de una instalación limpia de PrestaShop.


## PrestaShop en Modo Mantenimiento: Tu Mejor Aliado

Mientras estás solucionando el error, es probable que los clientes vean una página de error fea. Para evitar perder ventas y dar una imagen profesional, activa el modo mantenimiento de PrestaShop.

### Paso 9: Activar el Mantenimiento Manualmente

Normalmente, se hace desde el panel de administración, pero si tu tienda está caída, no puedes entrar. Puedes hacerlo editando un archivo de configuración.

  1. Ve a la carpeta app/config/ en tu servidor.
  2. Busca el archivo parameters.php (es el mismo que editamos antes).
  3. Dentro del array, busca una línea que diga 'PS_SHOP_ENABLE' => '1'. Cambia el valor '1' por '0'.
  4. Guarda el archivo.

Esto pondrá tu tienda en modo mantenimiento. Ahora, cuando los clientes entren, verán un mensaje amigable en lugar de un error técnico. Una vez que hayas solucionado el problema, vuelve a cambiar el valor a '1' para reactivar la tienda.


## Prevención: Cómo Evitar Futuros Errores de Base de Datos

"Mejor prevenir que curar". Aquí tienes una lista de buenas prácticas para que este error sea solo un mal recuerdo.

  • Realiza copias de seguridad periódicas: Tanto de los archivos como de la base de datos. Guárdalas en un lugar externo (tu ordenador, Google Drive, etc.). La mayoría de los paneles de control (Syspanel, cPanel) tienen herramientas automáticas para esto.
  • Mantén PrestaShop actualizado: Las actualizaciones corrigen errores de código y vulnerabilidades de seguridad que podrían causar problemas.
  • No instales módulos o temas de fuentes dudosas: Un código malicioso o mal escrito puede corromper la base de datos.
  • Monitoriza el espacio en disco: Si tu servidor se queda sin espacio, la base de datos puede corromperse. Revisa el uso de disco en tu panel de control.
  • Evita editar archivos directamente sin saber lo que haces: Si no estás seguro, pide ayuda a un profesional o a tu soporte de hosting.

## Preguntas Frecuentes (FAQ) sobre el Error de Conexión

Para terminar, vamos a resolver las dudas más comunes que nos llegan al soporte sobre este tema.

¿Por qué me sale este error después de cambiar la contraseña de mi base de datos?
Porque el archivo parameters.php de PrestaShop sigue teniendo la contraseña antigua. Debes actualizar ese archivo manualmente con la nueva contraseña, tal y como explicamos en el Paso 4.

¿Qué significa el error "mysqli::real_connect(): (HY000/2002): Connection refused"?
Este error específico significa que el servidor de bases de datos está físicamente rechazando la conexión. Puede ser porque el servicio está caído, el puerto incorrecto o el host database_host no es correcto. Revisa el Paso 1 y el Paso 4.

He probado todo y sigo con el error. ¿Qué más puedo hacer?
Si has seguido todos los pasos y nada funciona, es muy probable que el problema esté en el propio servidor de bases de datos a nivel de hardware o configuración de red. Es el momento de contactar con tu proveedor de hosting. Explícales que has verificado los datos de conexión, reparado las tablas y limpiado la caché, pero que el error persiste. Ellos tendrán acceso a los logs del servidor y podrán diagnosticar el problema raíz.

¿Puedo perder mis datos si hago esto?
Si sigues los pasos de esta guía haciendo copias de seguridad antes de cada modificación (especialmente del archivo parameters.php y de la base de datos), el riesgo de pérdida es mínimo. La reparación de tablas con phpMyAdmin no borra datos, solo intenta corregirlos. Lo único que podría causar pérdida de datos es una restauración de una copia de seguridad, pero eso solo se hace si el daño es irreparable.

Esperamos que esta guía detallada te haya sido de gran ayuda. Recuerda que la paciencia es clave. Ve paso a paso, sin prisas, y seguro que tu tienda vuelve a estar operativa en poco tiempo. ¡Mucha suerte!

¿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