Cómo solucionar el "Error al establecer una conexión con la base de datos" en WordPress

El fallo "Error al establecer una conexión con la base de datos" (o "Error establishing a database connection") es uno de los problemas más críticos y temidos en WordPress. Cuando ocurre, el sitio web deja de renderizarse por completo y muestra una pantalla en blanco con este aviso, impidiendo el acceso tanto a las visitas como al panel de administración /wp-admin/. En esta guía técnica paso a paso aprenderás las causas reales de este bloqueo, cómo verificar las credenciales en wp-config.php, cómo reiniciar el servicio MySQL y cómo reparar tablas corruptas.
🚨 ¿Qué significa técnicamente este fallo?
WordPress necesita comunicarse con su base de datos MySQL/MariaDB para cargar el contenido de las páginas, los usuarios, los plugins y las opciones de configuración.
El aviso se dispara únicamente cuando la petición PHP enviada por el servidor web no recibe respuesta o es rechazada por uno de estos tres motivos: credenciales incorrectas, servidor de base de datos caído por sobrecarga o tablas corruptas.

Tabla resumen: Causas habituales y solución directa
| Causa del Fallo | Síntoma Típico | Solución Recomendada |
|---|---|---|
| 1. Datos de acceso erróneos | Ocurre justo tras migrar de servidor o cambiar contraseñas. | Revisar y corregir el archivo wp-config.php. |
| 2. Servicio MySQL caído | XAMPP muestra MySQL detenido o el hosting saturado de RAM. | Reiniciar servicio MySQL en el panel o aumentar recursos. |
| 3. Tablas de la base de datos corruptas | La portada da error pero el panel admin pide reparar la base de datos. | Activar la directiva WP_ALLOW_REPAIR en WordPress. |
| 4. Host de base de datos incorrecto | El servidor rechaza localhost y exige una IP interna o socket. |
Ajustar la directiva DB_HOST según el proveedor. |
🚀 ¿Tu servidor sufre caídas constantes de MySQL por falta de memoria?
En alojamientos compartidos de baja calidad o servidores locales mal configurados, los procesos de base de datos se bloquean periódicamente ante picos de visitas o ejecuciones pesadas de plugins.
Para evitar caídas de servicio con servidores optimizados con memoria aislada, discos NVMe de alta velocidad, copias de seguridad automáticas y soporte técnico 24/7 en español, revisa los planes especializados:
Paso 1: Comprobar las credenciales en el archivo wp-config.php
La causa más común tras clonar una web o completar una migración es un error tipográfico en el archivo central de configuración de WordPress. Accede a los archivos de tu web mediante tu cliente FTP o SFTP preferido (o a través del administrador de archivos de cPanel) y abre el archivo wp-config.php ubicado en la raíz del sitio.

Localiza el siguiente bloque de código y comprueba cada parámetro con los datos reales creados en tu panel de control:
// ** Ajustes de la base de datos de WordPress ** //
define( 'DB_NAME', 'nombre_de_tu_basededatos' );
define( 'DB_USER', 'usuario_de_tu_basededatos' );
define( 'DB_PASSWORD', 'tu_contraseña_segura' );
define( 'DB_HOST', 'localhost' );
Puntos críticos a revisar:
- Prefijos de usuario y base de datos: En servidores reales con cPanel, los nombres suelen llevar un prefijo identificador (por ejemplo:
usuario_wpdben vez dewpdba secas). - Espacios accidentales: Asegúrate de no haber copiado espacios invisibles al principio o al final de las comillas simples al pegar la contraseña.
- DB_HOST en hostings específicos: Aunque el 90% de los servidores utiliza
localhost, empresas como SiteGround, AWS o Google Cloud requieren una IP interna, un puerto específico o una URL de clúster (ejemplo:mysql.tudominio.como127.0.0.1:3306).
Paso 2: Comprobar si el servicio MySQL está activo
Si las credenciales son correctas pero el servidor de la base de datos no está respondiendo, la conexión fallará de inmediato.
Si estás trabajando en Localhost (XAMPP):
- Abre el XAMPP Control Panel.
- Verifica si el módulo MySQL está coloreado en verde.
- Si está detenido en gris o rojo, pulsa en Start. Si se cierra por conflicto de puertos con otro servidor local, revisa cómo cambiar el puerto de Apache en XAMPP o comprueba si el puerto 3306 está ocupado.
Si estás en un Hosting Web en producción:
- Accede al panel de control de tu alojamiento (cPanel o panel a medida).
- Entra en Bases de Datos MySQL y comprueba que el usuario asignado tenga todos los privilegios marcados (ALL PRIVILEGES).
- Intenta abrir la herramienta phpMyAdmin. Si phpMyAdmin tampoco carga y arroja error 500, el servicio MySQL de la máquina está caído y debes contactar al soporte técnico de tu proveedor para que reinicien el proceso.
Paso 3: Reparar tablas de la base de datos corruptas
Un síntoma muy claro de corrupción de tablas se produce cuando la página pública muestra "Error al establecer una conexión con la base de datos", pero al intentar acceder al panel de administración en /wp-admin/ aparece un aviso diferente que dice: "Una o más tablas de la base de datos no están disponibles. Es posible que sea necesario reparar la base de datos".
Método automático mediante WordPress:
- Abre nuevamente el archivo
wp-config.phpcon tu editor. - Añade la siguiente línea justo encima del comentario que indica /* ¡Eso es todo, deja de editar! */:
define( 'WP_ALLOW_REPAIR', true ); - Guarda el archivo y abre en tu navegador la siguiente dirección:
https://tudominio.com/wp-admin/maint/repair.php - Haz clic en el botón "Reparar la base de datos" (u Optimizar y reparar). WordPress ejecutará las sentencias SQL de comprobación de integridad.
- Paso de seguridad obligatorio: En cuanto termine el proceso, vuelve a abrir
wp-config.phpy elimina esa línea o cámbiala afalsepara evitar que cualquier usuario externo pueda reiniciar tus tablas.

Paso 4: Probar la conexión con un script PHP aislado
Para descartar si el problema reside en los archivos del núcleo de WordPress o directamente en la comunicación del servidor con MySQL, crea un archivo de prueba:
- Crea en tu ordenador un archivo de texto llamado
testdb.php. - Pega el siguiente código sustituyendo los datos por tus credenciales de
wp-config.php:<?php $link = mysqli_connect('localhost', 'usuario_db', 'contraseña_db'); if (!$link) { die('Fallo de conexión directo con MySQL: ' . mysqli_error($link)); } echo '¡Conexión establecida con éxito a MySQL!'; mysqli_close($link); ?> - Sube el archivo a la carpeta raíz de tu web (
public_htmlohtdocs). - Ábrelo en tu navegador:
https://tudominio.com/testdb.php. - Diagnóstico:
- Si muestra "¡Conexión establecida con éxito!", el servidor de base de datos funciona y el problema es interno de WordPress (un plugin que sobrecarga consultas o tablas corruptas).
- Si muestra "Fallo de conexión directo", el usuario o la contraseña están mal escritos o el servicio MySQL rechaza el acceso.
- Borra siempre el archivo
testdb.phpuna vez finalizada la prueba.
📚 Artículos técnicos relacionados de nuestra serie de WordPress:
Preguntas frecuentes
¿Puedo perder mis publicaciones o entradas al reparar la base de datos?
La herramienta de reparación nativa de WordPress solo repara índices dañados y desfragmenta tablas que no pudieron cerrarse correctamente tras un reinicio brusco. No elimina registros de texto. No obstante, siempre es prudente descargar una copia exportada en formato .sql desde phpMyAdmin antes de manipular tablas.
¿Por qué este error aparece y desaparece solo a lo largo del día?
Si el error es intermitente, la causa es una **sobrecarga de memoria en el servidor**. En horas de mayor tráfico, el límite de conexiones simultáneas a MySQL se satura, el proceso se congela unos minutos y vuelve a funcionar cuando baja la concurrencia. La solución definitiva en ese escenario consiste en optimizar la caché o migrar a un plan con mayor asignación de memoria RAM dedicada.
Si quieres conocer otros artículos parecidos a Cómo solucionar el "Error al establecer una conexión con la base de datos" en WordPress puedes visitar la categoría Desarrollo y Programación.
