Error al Establecer una Conexión con la Base de Datos en WordPress: Causas y Solución Paso a Paso
El error de conexión con la base de datos es uno de los más frecuentes en WordPress. Aprende las 5 causas comunes y cómo solucionarlo paso a paso desde cPanel.
Estás revisando tu sitio y de pronto aparece un mensaje blanco con texto oscuro: "Error establishing a database connection". No hay estilos, no hay diseño, solo ese mensaje críptico. Tu sitio está caído y no sabes por qué.
Este es uno de los errores más frecuentes y urgentes en WordPress. La buena noticia: en la mayoría de los casos tiene solución rápida si sabes dónde mirar. En esta guía vas a aprender las 5 causas más comunes, cómo diagnosticar cuál es la tuya y cómo solucionarlo paso a paso desde cPanel.
¿Qué significa este error y por qué aparece?
WordPress está construido sobre dos pilares: archivos PHP (el código) y una base de datos MySQL/MariaDB (el contenido). Cada vez que alguien visita tu sitio, PHP se conecta a la base de datos para obtener posts, páginas, configuraciones y todo lo que se muestra en pantalla.
Cuando WordPress dice "Error al establecer una conexión con la base de datos", significa que el código PHP no pudo conectar con MySQL. La solicitud de conexión falló, y sin datos no puede construir la página. El resultado es ese mensaje de error en lugar de tu sitio.
La diferencia entre pantalla blanca y error de base de datos
Es importante distinguir este error de la pantalla blanca de la muerte (WSOD) o el error 500. La pantalla blanca generalmente es un error de PHP: un plugin roto, un límite de memoria agotado o un archivo corrupto. El error de conexión de base de datos es diferente: PHP funciona, pero no puede hablar con MySQL.
Si ves el mensaje completo "Error establishing a database connection" (en inglés) o "Error al establecer una conexión con la base de datos" (en español), el problema está en la conexión, no en el código. Para resolver errores de tipo pantalla blanca o error 500, revisa nuestra guía sobre pantalla blanca y error 500 en WordPress.
Frontend vs backend — cuándo afecta a uno, al otro o a ambos
Hay un detalle clave para el diagnóstico:
- Si el error aparece en el frontend Y en
/wp-admin/, el problema es global: credenciales incorrectas, servidor MySQL caído o base de datos dañada. - Si el frontend muestra el error pero
/wp-admin/muestra un mensaje diferente como "One or more database tables are unavailable", la base de datos está parcialmente corrupta y WordPress te está dando una pista de qué hacer.
Este segundo caso apunta a una solución específica que veremos más adelante.
Causa 1 — Credenciales incorrectas en wp-config.php
La causa número uno, especialmente después de una migración o cambio de hosting, son las credenciales de conexión en el archivo wp-config.php. Este archivo contiene cuatro valores que WordPress usa para conectarse a MySQL: el nombre de la base de datos, el usuario, la contraseña y el host.
Si alguno de estos valores es incorrecto, la conexión falla inmediatamente.
Cómo ubicar wp-config.php en cPanel File Manager
- Inicia sesión en cPanel de tu hosting
- Abre File Manager (Administrador de Archivos)
- Navega a la raíz de tu sitio WordPress (generalmente
public_html/) - Busca el archivo
wp-config.php - Haz clic derecho → Edit (o Code Edit)
Si no ves el archivo, verifica que estés en el directorio correcto. Algunas instalaciones de WordPress están en subdirectorios como public_html/misitio/.
Qué valores revisar: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST
En el archivo vas a encontrar líneas como estas:
define('DB_NAME', 'usuario_db');
define('DB_USER', 'usuario_admin');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');
Cada uno de estos cuatro valores debe coincidir exactamente con lo que está configurado en tu servidor. Un solo carácter incorrecto en la contraseña y la conexión falla.
Cómo encontrar las credenciales correctas en cPanel > Bases de Datos MySQL
Para verificar que las credenciales coinciden:
- En cPanel, ve a Bases de Datos MySQL (MySQL Databases)
- En la sección Current Databases, verifica que
DB_NAMEcoincida con el nombre listado - En MySQL Users, confirma que
DB_USERexiste y está asignado a esa base de datos - Si necesitas verificar o cambiar la contraseña, usa Change Password para ese usuario MySQL
- Actualiza
wp-config.phpcon la nueva contraseña
El DB_HOST suele ser localhost, pero algunos hosting usan valores diferentes como 127.0.0.1, un hostname específico del servidor o incluso una dirección IP. Esto es especialmente común después de una migración, como explicamos en nuestra guía para migrar un sitio web de hosting paso a paso.
Tip rápido: Si cambiaste la contraseña del usuario MySQL en cPanel, asegúrate de actualizar también wp-config.php. Muchas personas cambian la contraseña en el servidor pero se olvidan del archivo de configuración.
Causa 2 — El servidor de base de datos MySQL está caído
Si las credenciales son correctas, el siguiente sospechoso es el servidor MySQL en sí. Si MySQL no está ejecutándose, WordPress no puede conectarse sin importar cuán correctas sean las credenciales.
Esto puede pasar por varias razones: el servidor se quedó sin memoria RAM, hay demasiadas conexiones simultáneas, un reinicio del servidor no completó el inicio de MySQL, o hay un problema de configuración.
Cómo verificar si MySQL está activo (señales desde cPanel)
Desde cPanel puedes verificar:
- Ve a MySQL Databases — si no carga la lista de bases de datos, MySQL podría estar caído
- Revisa Server Information o Service Status — algunos hosting muestran el estado de MySQL
- Intenta acceder a phpMyAdmin desde cPanel — si phpMyAdmin muestra un error de conexión, confirma que es el servidor
También puedes verificar desde phpMyAdmin en cPanel si logras acceder. Si phpMyAdmin funciona, el servidor MySQL está activo y el problema probablemente está en tus credenciales o en tu base de datos específica.
Cuándo es problema del hosting y cómo reportarlo
Si confirmas que MySQL está caído y no tienes acceso SSH para reiniciarlo, esto es un problema de infraestructura de tu proveedor de hosting. Debes contactar a soporte con esta información:
- Tu dominio
- El error exacto que ves ("Error establishing a database connection")
- Hora aproximada en que empezó el problema
- Si afecta solo a tu sitio o a todos los sitios en el mismo servidor
Un buen proveedor de hosting resuelve estos incidentes en minutos. Si tu hosting tarda horas en responder problemas de base de datos, es momento de considerar un cambio a uno con infraestructura más estable, como los planes de hosting con MySQL monitorizado de Elevocloud.
Causa 3 — La base de datos está corrupta
Las tablas de WordPress pueden corromperse por varias razones: un reinicio brusco del servidor durante una escritura, plugins que escriben mal en la base de datos, actualizaciones fallidas de WordPress o problemas de disco en el servidor.
La corrupción puede ser leve (algunas tablas dañadas) o severa (base de datos completamente inaccesible).
Cómo usar la función de reparación de WordPress (define('WP_ALLOW_REPAIR', true))
WordPress tiene una herramienta de reparación integrada que muchos desconocen. Para activarla:
- Abre
wp-config.php - Agrega esta línea justo antes de
/* That's all, stop editing! */:
define('WP_ALLOW_REPAIR', true);
- Guarda el archivo
- Visita en tu navegador:
https://tudominio.com/wp-admin/maint/repair.php - Haz clic en Reparar base de datos (o Reparar y optimizar base de datos)
- Espera a que termine el proceso
- Importante: Cuando termines, elimina o comenta la línea de
wp-config.phpinmediatamente
Esta página de reparación no requiere inicio de sesión, lo cual es conveniente cuando tu sitio está caído, pero también significa que cualquiera puede acceder a ella. Por eso es crucial eliminar esa línea del archivo después de usarla.
Cómo reparar tablas desde phpMyAdmin en cPanel
Si la reparación de WordPress no funciona, puedes intentarlo directamente en phpMyAdmin:
- Abre phpMyAdmin desde cPanel
- Selecciona tu base de datos de WordPress en la columna izquierda
- Marca las tablas que appear como in use o con errores
- Desplázate al final y en el menú desplegable selecciona Reparar tabla (Repair table)
- También puedes ejecutar comandos SQL directamente:
CHECK TABLE wp_options; REPAIR TABLE wp_options;
Reemplaza wp_options por la tabla que necesites reparar. Para más detalles sobre cómo usar phpMyAdmin, consulta nuestra guía de phpMyAdmin en cPanel para bases de datos MySQL y WordPress.
Causa 4 — Límite de conexiones MySQL alcanzado
Cada servidor MySQL tiene un límite de conexiones simultáneas (max_connections). Cuando ese límite se alcanza, nuevas conexiones son rechazadas y los visitantes ven el error de base de datos.
Qué es el max_connections y cómo identificarlo
Este problema se manifesta de forma intermitente: tu sitio funciona la mayor parte del tiempo pero muestra el error durante picos de tráfico o cuando otro sitio en el mismo servidor consume muchas conexiones.
Señales de que estás alcanzando el límite:
- El error aparece y desaparece sin que hayas cambiado nada
- Ocurre más frecuentemente durante horas pico de tráfico
- El sitio está en un hosting compartido con muchos otros sitios
- Tienes muchos plugins que hacen consultas a la base de datos
Soluciones temporales y cómo escalar con tu proveedor
Si estás en hosting compartido, el max_connections lo controla el proveedor y no puedes aumentarlo tú mismo. Soluciones temporales:
- Caché de página: Instala y configura un plugin de caché como LiteSpeed Cache para reducir las consultas a la base de datos
- Caché de objetos: Usa Redis o Memcached para almacenar resultados de consultas frecuentes
- Reducir plugins: Desactiva plugins innecesarios que hacen consultas constantes
- Optimizar tablas: Ejecuta OPTIMIZE TABLE en phpMyAdmin para tablas fragmentadas
Si el problema persiste, contacta a tu proveedor de hosting para que asignen más conexiones MySQL a tu cuenta o considera migrar a un plan con recursos dedicados.
Causa 5 — Problema post-migración o actualización de hosting
Después de migrar tu sitio a un nuevo hosting, el error de conexión es casi siempre un problema de configuración. Es la causa más predecible y la más fácil de resolver si sabes dónde buscar.
Cambio de hostname DB_HOST después de migrar
El valor DB_HOST en wp-config.php varía entre proveedores. En la mayoría de los casos es localhost, pero algunos hosting usan:
127.0.0.1mysql.tuhosting.com- Una dirección IP interna
- Un socket Unix como
:/tmp/mysql.sock
Después de una migración, el DB_HOST del hosting anterior casi nunca funciona en el nuevo. Debes obtener el valor correcto del nuevo proveedor y actualizarlo en wp-config.php.
Usuarios de base de datos que perdieron privilegios
Otro problema post-migración frecuente: el usuario de la base de datos existe pero perdió los privilegios necesarios. Esto pasa cuando importas la base de datos pero no asignas correctamente los permisos del usuario MySQL al nuevo servidor.
Para solucionarlo en cPanel:
- Ve a MySQL Databases
- En Add User to Database, selecciona tu usuario y tu base de datos
- Asigna todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP)
- Guarda los cambios
Siempre verifica esto después de una migración, incluso si crees que ya lo hiciste.
Pasos de diagnóstico rápido en orden
Cuando enfrentes este error, sigue este orden para encontrar la causa rápidamente:
- Verifica si
/wp-admin/también muestra el error — si muestra un mensaje diferente, apunta a corrupción de tablas - Revisa
wp-config.php— confirma que las 4 credenciales son correctas comparando con cPanel > MySQL Databases - Verifica el estado de MySQL — intenta acceder a phpMyAdmin o revisa Service Status en cPanel
- Activa
WP_ALLOW_REPAIR— ejecuta la reparación integrada de WordPress - Revisa el error_log — en cPanel > Errors o en el archivo
error_logde tu sitio para mensajes específicos de MySQL - Contacta a soporte del hosting — si todo lo anterior falla, es un problema del servidor
En la mayoría de los casos, la causa está en los pasos 1-3.
Cómo prevenir este error en el futuro
Una vez que hayas solucionado el error, toma medidas para que no vuelva a ocurrir:
Backups automáticos activos
Lo más importante: tener backups automáticos y actualizados. Si tu base de datos se corrompe y no puedes repararla, poder restaurar desde un backup reciente es la red de seguridad definitiva. Configura backups automáticos desde cPanel y verifica que se estén ejecutando correctamente. Nuestra guía sobre cómo hacer backup de WordPress en cPanel y restaurarlo te muestra cómo hacerlo paso a paso.
Monitoring con UptimeRobot (gratis)
Instala un monitor de uptime como UptimeRobot para recibir alertas inmediatas cuando tu sitio se cae. La versión gratuita monitorea hasta 50 sitios cada 5 minutos y te notifica por email, SMS o Slack. Así no dependes de que un visitante te avise del problema; tú eres el primero en saberlo.
Mantén WordPress y plugins actualizados
Las actualizaciones de WordPress frecuentemente incluyen correcciones de compatibilidad con bases de datos. Mantén WordPress, los plugins y el tema actualizados para evitar incompatibilidades que puedan causar corrupción.
Elige un hosting con infraestructura sólida
Mucho del origen de errores de base de datos repetitivos está en la calidad del hosting. Un servidor con MySQL bien configurado, monitoreo proactivo y recursos suficientes evita la mayoría de estos problemas. Si tu sitio cae por errores de base de datos con frecuencia, es señal de que tu hosting no está a la altura.
Planes de hosting Elevocloud con MySQL estable y soporte técnico en español — servidores con MariaDB optimizado, monitoreo 24/7 y soporte que responde en minutos cuando tu base de datos tiene problemas. Tu sitio WordPress merece un hosting que no te deje caído.