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

Cómo solucionar 'Error establishing a database connection' en WordPress y PrestaShop

Actualizado el 2 de octubre de 2025

¿Qué significa "Error establishing a database connection"?

Cuando visitas tu tienda online o tu blog y ves el mensaje "Error establishing a database connection", significa que tu sitio web (WordPress o PrestaShop) no puede comunicarse con la base de datos donde se almacenan todos tus contenidos, productos, clientes y configuraciones.

Piensa en ello como si tu web fuera un restaurante: la base de datos es la cocina. Si la cocina está cerrada o no hay comunicación con ella, no puedes servir ningún plato a tus clientes. El error puede aparecer en inglés ("Error establishing a database connection") o en español ("Error de conexión con la base de datos"), pero el problema de fondo es el mismo.

Este es uno de los errores más comunes y, afortunadamente, en la mayoría de los casos tiene solución rápida. No necesitas ser un experto en programación para resolverlo. En esta guía te explicamos paso a paso, de forma sencilla, cómo diagnosticar y solucionar el error conexión base de datos tanto en WordPress como en PrestaShop.


Antes de empezar: prepara tus herramientas

Antes de lanzarte a modificar archivos, es importante que tengas a mano:

  • Tus credenciales de acceso al panel de control de hosting (cPanel, Plesk, Syspanel, etc.).
  • El nombre de usuario y contraseña de tu base de datos (normalmente los encuentras en el correo de bienvenida de tu hosting o en el panel de control).
  • Un gestor de archivos (puedes usar el administrador de archivos de tu hosting o un cliente FTP como FileZilla).
  • Mucha paciencia y ganas de aprender.

[!INFO]
Si tu hosting utiliza Syspanel, recuerda que el acceso al panel se realiza a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106). Allí encontrarás las herramientas de gestión de archivos y bases de datos.


Causas más comunes del error

El error establishing a database connection puede deberse a varias razones. Las más frecuentes son:

  1. Credenciales incorrectas en el archivo de configuración.
  2. La base de datos está caída o sobrecargada.
  3. El servidor de base de datos está bloqueado o no responde.
  4. El archivo de configuración está dañado o tiene permisos incorrectos.
  5. Cambios recientes en el hosting (migraciones, cambios de contraseña, etc.).
  6. Ataques o intentos de hackeo que han modificado archivos.

Vamos a ir de lo más simple a lo más complejo.


Solución paso a paso para WordPress

1. Verifica si el problema es generalizado

Antes de tocar nada, comprueba si el error aparece en todo tu sitio o solo en algunas páginas. Si solo ocurre en el panel de administración (/wp-admin), el problema puede ser diferente. Si el error aparece en todo el sitio, sigue estos pasos.

2. Revisa el archivo wp-config.php

Este es el archivo más importante para la conexión a la base de datos en WordPress. Contiene las credenciales de acceso.

Cómo encontrarlo y editarlo:

  1. Accede a tu panel de control de hosting (recuerda que en Syspanel el puerto es el 2106).
  2. Abre el Administrador de Archivos y navega hasta la carpeta public_html (o htdocs).
  3. Busca el archivo wp-config.php.
  4. Haz clic derecho y selecciona Editar.

Dentro del archivo, busca estas líneas:

define('DB_NAME', 'tu_base_de_datos');
define('DB_USER', 'tu_usuario');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');

Verifica que estos datos sean correctos. Si no los recuerdas, puedes encontrarlos en:

  • El correo de bienvenida de tu hosting.
  • El panel de control, en la sección Bases de Datos MySQL.

[!WARNING]
No cambies los datos si no estás seguro. Modificar el nombre de la base de datos o el usuario puede empeorar el problema. Si tienes dudas, contacta con tu proveedor de hosting.

Solución si los datos son incorrectos:

  • Corrige los datos con los valores correctos.
  • Guarda el archivo y recarga tu web.

3. Comprueba el servidor de base de datos (DB_HOST)

En la mayoría de los hostings, el valor de DB_HOST es localhost. Sin embargo, algunos proveedores utilizan servidores externos como mysql.tudominio.com o 127.0.0.1.

Si tu hosting ha cambiado recientemente de servidor, es posible que el valor antiguo ya no funcione. Prueba a cambiar DB_HOST a:

  • localhost
  • 127.0.0.1
  • O el valor que te indique tu proveedor.

4. Si nada funciona: restablece la contraseña de la base de datos

A veces la contraseña se corrompe o se cambia sin que lo sepas. Puedes restablecerla desde el panel de control:

  1. Ve a la sección Bases de Datos MySQL en tu hosting.
  2. Localiza tu base de datos y el usuario asociado.
  3. Cambia la contraseña (elige una segura).
  4. Actualiza el archivo wp-config.php con la nueva contraseña.

[!TIP]
Escribe la contraseña en un bloc de notas antes de cambiarla en el panel. Así evitarás errores de copiado.

5. Repara la base de datos con la herramienta integrada

WordPress tiene una utilidad oculta para reparar bases de datos. Para activarla:

  1. Añade esta línea al final de tu wp-config.php:
define('WP_ALLOW_REPAIR', true);
  1. Guarda el archivo y visita: https://tudominio.com/wp-admin/maint/repair.php
  2. Haz clic en Reparar base de datos.
  3. Cuando termine, elimina esa línea del archivo de configuración.

[!WARNING]
No olvides quitar la línea después de reparar. Dejarla activa es un riesgo de seguridad.


Solución paso a paso para PrestaShop

PrestaShop es un poco más complejo en este aspecto, pero no te preocupes. Vamos a resolverlo.

1. Localiza el archivo de configuración

PrestaShop guarda la configuración de la base de datos en el archivo app/config/parameters.php (para versiones 1.7 y superiores) o en config/settings.inc.php (para versiones 1.6 y anteriores).

Para PrestaShop 1.7+:

  1. Ve al Administrador de Archivos de tu hosting.
  2. Navega a la carpeta app/config/.
  3. Abre el archivo parameters.php.

Busca estas líneas:

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

Para PrestaShop 1.6:

  1. Ve a la carpeta config/.
  2. Abre settings.inc.php.

Busca:

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

2. Verifica y corrige los datos

Igual que en WordPress, comprueba que los datos sean correctos. Si cambiaste la contraseña de la base de datos, actualízala aquí también.

3. Reconstruye el archivo de caché (solo PrestaShop 1.7+)

PrestaShop 1.7 guarda una copia de la configuración en un archivo de caché. A veces este archivo se corrompe.

  1. En la carpeta app/config/, busca el archivo parameters.php y también el parameters.yml (si existe).
  2. Elimina el archivo parameters.yml (o renómbralo a parameters.yml.bak).
  3. PrestaShop lo regenerará automáticamente al cargar la web.

[!INFO]
Si no ves el archivo parameters.yml, es posible que tu instalación no lo use. No pasa nada, continúa con el siguiente paso.

4. Comprueba los permisos de los archivos

Los archivos de configuración deben tener permisos de lectura para el servidor. Normalmente, los permisos correctos son:

  • parameters.php644
  • settings.inc.php644

Para cambiarlos:

  1. Selecciona el archivo en el Administrador de Archivos.
  2. Haz clic en Permisos o Cambiar permisos.
  3. Introduce 644 y guarda.

[!WARNING]
No pongas permisos 777 (lectura, escritura y ejecución para todos). Es un riesgo de seguridad grave.


Soluciones avanzadas si nada de lo anterior funciona

1. Reinicia el servidor de base de datos

A veces el servidor de MySQL simplemente se bloquea. Si tienes acceso a Syspanel o a tu panel de control:

  1. Ve a la sección Servicios o Procesos.
  2. Busca MySQL o MariaDB.
  3. Reinicia el servicio.

Si no tienes acceso a esta opción, contacta con tu proveedor de hosting y pide que reinicien MySQL.

2. Comprueba si la base de datos está llena

Una base de datos llena puede provocar errores de conexión. En tu panel de control:

  1. Ve a Bases de Datos MySQL.
  2. Comprueba el tamaño de tu base de datos.
  3. Si está cerca del límite, elimina tablas innecesarias (como logs antiguos) o contrata más espacio.

3. Revisa los logs del servidor

Los logs pueden darte pistas sobre el error. Busca en tu hosting la sección Registros de Errores o Error Logs. Los mensajes típicos incluyen:

  • Access denied for user 'usuario'@'localhost' → Credenciales incorrectas.
  • Can't connect to MySQL server on 'localhost' → Servidor caído o bloqueado.
  • Too many connections → Demasiadas conexiones simultáneas.

4. Restaura desde una copia de seguridad

Si has hecho cambios recientes y todo ha empeorado, considera restaurar tu sitio desde una copia de seguridad anterior. La mayoría de los hostings ofrecen copias automáticas.


Preguntas frecuentes (FAQ)

¿Por qué mi web da este error después de cambiar la contraseña de la base de datos?

Porque los archivos de configuración (wp-config.php o parameters.php) siguen teniendo la contraseña antigua. Actualiza esos archivos con la nueva contraseña.

¿Puedo solucionar este error sin acceso al panel de control?

Es difícil, pero posible si tienes acceso por FTP. Descarga el archivo de configuración, edítalo en tu ordenador y súbelo de nuevo.

¿Cuánto tiempo se tarda en solucionar este error?

Entre 5 y 30 minutos si el problema son las credenciales. Si el servidor de base de datos está caído, puede tardar más y necesitarás contactar con tu proveedor.

¿El error puede deberse a un ataque informático?

Sí, en algunos casos los atacantes modifican los archivos de configuración o sobrecargan la base de datos. Si sospechas de un ataque, cambia todas tus contraseñas (hosting, base de datos, FTP) y revisa los archivos en busca de código malicioso.

¿Debo contactar con mi proveedor de hosting?

Si has probado todos los pasos anteriores y el error persiste, sí. Ellos pueden verificar si el servidor de base de datos está funcionando correctamente y ayudarte a resolver problemas más profundos.


Resumen rápido para no perderte

ProblemaSolución
Credenciales incorrectasActualiza wp-config.php o parameters.php
Servidor caídoReinicia MySQL desde el panel o contacta con el hosting
Archivo dañadoRestaura desde copia de seguridad
Base de datos llenaElimina datos innecesarios
Permisos incorrectosCambia los permisos a 644

Conclusión

El error establishing a database connection es frustrante, pero casi siempre tiene solución. En el 90% de los casos, el problema está en las credenciales de la base de datos o en un servidor MySQL que se ha caído temporalmente.

Recuerda:

  • Siempre haz una copia de seguridad antes de modificar archivos importantes.
  • Si usas Syspanel, accede a través del puerto 2106.
  • Si tienes dudas, no toques nada y contacta con tu proveedor de hosting. Ellos están para ayudarte.

Con esta guía, ya tienes todas las herramientas para resolver el error conexión base de datos tanto en WordPress como en PrestaShop. ¡Manos a la obra y mucha suerte!

[!TIP]
Guarda esta guía en tus favoritos. Te será útil la próxima vez que aparezca este temido mensaje en tu web. Y si el problema vuelve a aparecer con frecuencia, considera cambiar de proveedor de hosting a uno más fiable y con mejor 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