WordPress: Qué hacer si tu página muestra 'Error al establecer conexión con la base de datos'
¿Qué significa el error "Error al establecer conexión con la base de datos"?
Este es, sin duda, uno de los avisos más temidos por cualquier persona que gestione una página en WordPress. Ver ese mensaje en lugar de tu web puede ser desconcertante, pero respira hondo: en la gran mayoría de los casos tiene una solución sencilla y no significa que hayas perdido tu contenido.
El mensaje "Error al establecer conexión con la base de datos" (o en inglés, "Error establishing a database connection") indica que WordPress no puede comunicarse con el servidor donde se almacenan tus publicaciones, páginas, comentarios y ajustes. Sin esa conexión, tu sitio no puede "pintar" nada en el navegador.
Piensa en tu web como una tienda física: WordPress es el escaparate y el mostrador, pero la base de datos es el almacén donde tienes todos los productos. Si la puerta del almacén está cerrada con llave o el encargado no está, no puedes atender a los clientes.
A continuación, te guiaré paso a paso, de forma clara y sin tecnicismos innecesarios, para que puedas diagnosticar y solucionar el error WordPress por ti mismo. No necesitas ser un experto en Linux o SysAdmin para la mayoría de estos pasos, solo seguir el orden lógico.
Primeros pasos: Diagnóstico rápido y descartar problemas temporales
Antes de ponernos manos a la obra con archivos de configuración, debemos asegurarnos de que no es un problema puntual del servidor.
1. Comprueba si el problema es generalizado
A veces, el error aparece porque el servidor de tu hosting está realizando un mantenimiento o ha sufrido una caída momentánea.
- Revisa el correo electrónico asociado a tu cuenta de hosting. Las empresas de hosting suelen avisar de ventanas de mantenimiento.
- Visita otros sitios web que estén alojados en el mismo servidor que el tuyo (si los conoces). Si todos fallan, el problema es del servidor, no de tu WordPress.
- Espera de 5 a 10 minutos y recarga la página. A veces, se resuelve solo.
[INFO] Si el problema persiste después de esperar, es momento de pasar a la acción.
2. Accede a tu panel de control (cPanel, Syspanel, Plesk, etc.)
Para realizar los siguientes pasos, necesitarás acceder al panel de control de tu hosting. Normalmente, es algo como tudominio.com/cpanel o tudominio.com:2106 si usas Syspanel (antes conocido como HestiaCP), que es un panel muy común en servidores Linux.
- Si tu hosting usa Syspanel, la URL suele ser
https://tudominio.com:2106. Introduce tu usuario y contraseña para entrar.
Una vez dentro, tendrás acceso al administrador de archivos y a las herramientas de bases de datos, que es lo que necesitaremos.
Paso 1: Verificar las credenciales en wp-config.php
La causa más común de este error es que las credenciales de acceso a la base de datos en el archivo de configuración de WordPress son incorrectas. Esto puede pasar después de una migración, un cambio de contraseña o incluso por un error al editar el archivo.
El archivo wp-config.php es el corazón de la configuración de tu WordPress. Contiene el nombre de la base de datos, el usuario, la contraseña y el servidor de la base de datos.
¿Cómo editar wp-config.php?
- Conecta a tu servidor a través del Administrador de Archivos de tu panel de control (Syspanel, cPanel, etc.) o mediante un cliente FTP como FileZilla.
- Navega hasta la carpeta raíz de tu instalación de WordPress. Normalmente es
public_htmlo una subcarpeta comopublic_html/miweb. - Busca el archivo llamado
wp-config.php. Es posible que tengas que activar la opción "Mostrar archivos ocultos" en tu administrador de archivos, ya que a veces no se ve por defecto. - Haz clic derecho sobre el archivo y selecciona "Editar" o "Ver/Editar".
Dentro del archivo, busca las líneas que se ven así:
define( 'DB_NAME', 'nombre_de_tu_base_de_datos' );
define( 'DB_USER', 'tu_usuario_de_base_de_datos' );
define( 'DB_PASSWORD', 'tu_contraseña' );
define( 'DB_HOST', 'localhost' );
¿Qué debo comprobar?
- DB_NAME: Debe coincidir exactamente con el nombre de tu base de datos. Puedes verlo en tu panel de control, en la sección de "Bases de Datos MySQL".
- DB_USER: Debe ser el usuario asociado a esa base de datos.
- DB_PASSWORD: La contraseña de ese usuario. Ojo: Si has cambiado la contraseña de la base de datos recientemente desde el panel de control, este archivo seguirá teniendo la antigua.
- DB_HOST: Normalmente es
localhost, pero algunos proveedores de hosting usan una dirección específica comomysql.tudominio.como una IP. Si tu web funcionaba antes y no has tocado esto, déjalo como está.
[WARNING] IMPORTANTE: Antes de editar el archivo, haz una copia de seguridad del wp-config.php original. Si algo sale mal, siempre podrás restaurarlo.
Si encuentras que los datos son incorrectos, corrígelos y guarda los cambios. Recarga tu página web.
Paso 2: Comprobar el estado del servidor de base de datos
Si las credenciales son correctas, el siguiente paso es verificar que el servidor de base de datos (normalmente MySQL o MariaDB) está funcionando en tu servidor.
Acceso por SSH (para usuarios más avanzados)
Si tienes acceso SSH a tu servidor, puedes ejecutar este comando para ver si el servicio está activo:
systemctl status mysql
O si usas MariaDB:
systemctl status mariadb
Si el servicio aparece como "inactive (dead)" o "failed", puedes intentar iniciarlo con:
sudo systemctl start mysql
O en su defecto:
sudo systemctl start mariadb
Acceso desde Syspanel
Si usas Syspanel (puerto 2106), en el panel de administración del servidor suele haber una sección de "Servicios" o "Estado del servidor". Busca si MySQL/MariaDB aparece como "Activo" o "Corriendo". Si está apagado, es probable que haya una opción para iniciarlo directamente desde ahí.
[TIP] Si no estás seguro de cómo hacer esto, contacta con tu proveedor de hosting. Ellos pueden reiniciar el servicio MySQL por ti en cuestión de minutos.
Paso 3: Reparar la base de datos
A veces, la base de datos puede estar "rota" o corrupta. WordPress tiene una herramienta integrada para intentar repararla, pero primero debes activarla manualmente.
Activar el modo de reparación
- Edita el archivo
wp-config.phpde la misma manera que en el Paso 1. - Busca la línea que dice:
define( 'WP_DEBUG', false );
- Justo encima o debajo de esa línea, añade esta nueva línea:
define( 'WP_ALLOW_REPAIR', true );
-
Guarda el archivo y ve a la siguiente URL en tu navegador:
https://tudominio.com/wp-admin/maint/repair.php -
Verás una página con dos opciones: "Reparar la base de datos" y "Reparar y optimizar la base de datos". Haz clic en la primera.
-
WordPress intentará arreglar las tablas dañadas. Al terminar, te mostrará un mensaje de éxito o error.
-
MUY IMPORTANTE: Después de la reparación, vuelve a editar
wp-config.phpy elimina la líneadefine( 'WP_ALLOW_REPAIR', true );. Dejarla activa es un riesgo de seguridad, ya que cualquiera podría acceder a esa URL.
Paso 4: Revisar los permisos de los archivos
Los permisos de los archivos en un servidor Linux son cruciales. Si los permisos de wp-config.php o de la carpeta raíz son demasiado restrictivos, WordPress podría no poder leer el archivo de configuración.
¿Cómo verificar los permisos?
- En tu administrador de archivos, localiza
wp-config.php. - Haz clic derecho y selecciona "Permisos" o "Cambiar permisos".
- Deberías ver una serie de números y casillas. Los valores seguros y estándar son:
- Carpetas: 755
- Archivos: 644
Si los permisos de wp-config.php son diferentes (por ejemplo, 600 o 444), cámbialos a 644. Si la carpeta raíz tiene permisos como 777, es recomendable cambiarlos a 755 por seguridad.
Paso 5: Comprobar si el problema es un plugin o tema
En ocasiones, un plugin o tema mal configurado puede generar conflictos que impidan la conexión a la base de datos, aunque es menos común. Puedes probar a desactivarlos.
Acceso por FTP o Administrador de Archivos
- Ve a la carpeta
wp-contentdentro de tu instalación de WordPress. - Renombra la carpeta
pluginsaplugins_backup. Esto desactivará todos los plugins a la vez. - Recarga tu web.
Si el error desaparece, el problema era uno de los plugins. Puedes ir renombrándolos uno a uno dentro de la carpeta plugins_backup para identificar al culpable.
- Si el problema persiste, renombra la carpeta
themesathemes_backup. WordPress usará un tema por defecto temporalmente.
[INFO] Al renombrar estas carpetas, no pierdes ningún dato. Solo es una forma de "desactivar" temporalmente estas funcionalidades.
Paso 6: Revisar los logs de error (para usuarios con experiencia)
Si has llegado hasta aquí y nada funciona, es hora de mirar los registros de error del servidor. Estos logs te dirán exactamente qué está fallando.
¿Dónde encontrar los logs?
- En Syspanel: Busca una sección de "Logs" o "Registros" en el panel (puerto 2106). Puede haber logs de error de PHP o del servidor web (Apache/Nginx).
- Por SSH: Ejecuta comandos como
tail -f /var/log/apache2/error.logo/var/log/nginx/error.logpara ver los errores en tiempo real.
Busca líneas que contengan "database connection" o "MySQL". Esto te dará pistas más concretas, como si el servidor de BD está rechazando la conexión por IP o si hay un problema de autenticación.
Resumen: Lista de verificación rápida
Para que no te pierdas, aquí tienes una lista de acciones por orden:
-
Espera y comprueba si es un problema general del servidor.
-
Revisa las credenciales en
wp-config.php(nombre, usuario, contraseña y host). -
Verifica que el servicio MySQL/MariaDB esté activo en tu servidor (Syspanel o SSH).
-
Activa el modo de reparación de WordPress (
WP_ALLOW_REPAIR). -
Revisa los permisos de los archivos (644 para archivos, 755 para carpetas).
-
Desactiva plugins y temas renombrando sus carpetas.
-
Consulta los logs de error para obtener más detalles.
Preguntas frecuentes (FAQ)
¿Puedo perder mi contenido si hago estos pasos?
No. Todos los pasos descritos son de diagnóstico y reparación. No eliminan ni modifican tus publicaciones, páginas o comentarios. La base de datos permanece intacta.
¿Qué hago si no encuentro el archivo wp-config.php?
Asegúrate de que estás en la carpeta correcta. Si tu WordPress está instalado en una subcarpeta (por ejemplo, public_html/blog), busca ahí. Si no lo ves, activa la opción de "Mostrar archivos ocultos" en tu administrador de archivos.
¿Por qué aparece este error después de cambiar la contraseña de mi base de datos?
Porque el archivo wp-config.php guarda la contraseña antigua. Debes actualizarlo con la nueva contraseña que hayas creado en tu panel de control.
Mi hosting usa Syspanel, ¿dónde está la base de datos?
En Syspanel (accesible por el puerto 2106), busca la sección "Bases de Datos" o "Base de datos MySQL". Ahí podrás ver los nombres de tus bases de datos y usuarios, y también cambiar contraseñas.
¿Necesito contactar con soporte técnico?
Si has seguido todos los pasos y el error persiste, es muy probable que haya un problema a nivel de servidor que no puedes resolver tú mismo. Contacta con tu proveedor de hosting y proporciónales la información de los logs de error que hayas encontrado. Ellos podrán solucionarlo.
Conclusión
Ver el error base de datos WordPress es frustrante, pero es uno de los problemas más comunes y con más soluciones documentadas. Siguiendo estos pasos de forma metódica, podrás resolver la conexión BD fallida en la mayoría de los casos sin necesidad de ser un experto.
Recuerda siempre hacer copias de seguridad antes de modificar archivos y no te saltes el paso de revisar las credenciales, ya que es la causa más frecuente. Con un poco de paciencia y estas guías, tu sitio web volverá a estar en línea en poco tiempo.
