Inicio › Blog › WordPress › Error establishing a database connection en WordPress: solución

Error establishing a database connection en WordPress: solución

Respuesta corta: el error aparece cuando WordPress no logra conectarse a su base de datos. La causa más común son datos de acceso incorrectos en wp-config.php (nombre de la base, usuario, contraseña o servidor). Revísalos primero; si están bien, prueba la conexión con un script, repara la base de datos y revisa si el servidor de base de datos está caído.

1. ¿Qué significa este error?

“Error establishing a database connection” (error al establecer una conexión con la base de datos) significa que los archivos de WordPress no pueden conectarse a la base de datos MySQL o MariaDB. Como WordPress depende de la base de datos para cargar entradas, páginas y configuraciones, el sitio queda inaccesible hasta que se restablezca la conexión.

2. Causas habituales

  • Datos de acceso incorrectos (nombre de la base de datos, usuario, contraseña o servidor).
  • Base de datos corrupta o tablas dañadas.
  • Servidor de base de datos caído o sobrecargado.
  • Archivos principales de WordPress dañados.
  • Plugins o temas que provocan errores graves.
  • Permisos insuficientes del usuario de la base de datos.
  • Límite de recursos del hosting superado por un pico de tráfico.

Si el error se repite cada vez que tu sitio recibe más visitas, el problema puede ser el hosting y no WordPress: un hosting WordPress con caché de servidor reduce mucho las consultas a la base de datos.

3. Antes de tocar archivos: haz un respaldo

Antes de cualquier cambio:

  • Haz una copia de seguridad completa: archivos y base de datos. Te explicamos cómo en cómo hacer un respaldo de tu sitio web.
  • Si eres cliente de Znet-Hosting, tus planes de hosting incluyen respaldos diarios automáticos.
  • Si el sitio está en producción, trabaja con calma: el sitio ya está caído, así que un respaldo de 5 minutos no empeora nada.

4. Paso a paso para resolverlo

4.1 Revisa wp-config.php (el paso más frecuente)

  1. Conéctate por FTP o desde el administrador de archivos de tu hosting. Si no sabes cómo, revisa cómo subir archivos a tu hosting.
  2. Abre el archivo wp-config.php, que está en la carpeta principal del sitio.
  3. Revisa estas líneas:
define( 'DB_NAME', 'nombre_de_tu_bd' );
define( 'DB_USER', 'usuario_bd' );
define( 'DB_PASSWORD', 'tu_contraseña' );
define( 'DB_HOST', 'localhost' ); // o el servidor que indique tu hosting
  1. Compara cada dato con los que aparecen en la sección de bases de datos del panel de tu hosting y corrige cualquier diferencia.
  2. Guarda el archivo y vuelve a cargar el sitio.

Si no conoces los datos: en la sección de bases de datos del panel puedes confirmar el nombre de la base, el usuario y el servidor, y cambiar la contraseña del usuario (después actualízala en wp-config.php).

Si tu hosting es Znet-Hosting: las bases de datos están en el panel, en Web Tools › MySQL Databases.

Sección Web Tools del panel de hosting, con MySQL Databases destacado
Lista de bases de datos y usuarios en MySQL Databases

4.2 Prueba la conexión con un archivo test.php

Este script comprueba los datos de acceso sin pasar por WordPress. Crea un archivo test.php en la carpeta principal del sitio con este contenido (cambia los cuatro datos por los tuyos):

<?php
$host = 'localhost';
$user = 'usuario_bd';
$pass = 'tu_contraseña';
$bd   = 'nombre_de_tu_bd';

mysqli_report(MYSQLI_REPORT_OFF);
$conexion = @mysqli_connect($host, $user, $pass, $bd);
if (!$conexion) {
    die('Error de MySQL: ' . mysqli_connect_error());
}
echo 'Conexión a la base de datos exitosa';
mysqli_close($conexion);

Abre https://tudominio.cl/test.php en el navegador:

  • “Conexión a la base de datos exitosa”: los datos funcionan. Sigue con la reparación de la base de datos o la revisión de archivos.
  • “Error de MySQL: Access denied for user … (using password: YES)”: el usuario o la contraseña están mal. Vuelve a wp-config.php.
  • “Error de MySQL: Access denied for user … to database …”: el nombre de la base de datos está mal, o el usuario no tiene permisos sobre esa base.
  • “Connection refused” o “No such file or directory”: el servidor de base de datos no responde o DB_HOST está mal. Revisa el servidor que indica tu hosting y, si está bien, contacta al soporte.

Borra test.php cuando termines: contiene tu contraseña.

4.3 Repara la base de datos

Opción 1: desde WordPress

  1. En wp-config.php, agrega temporalmente esta línea antes de la que empieza con /* That's all, stop editing!:
define( 'WP_ALLOW_REPAIR', true );
  1. Abre en el navegador https://tudominio.cl/wp-admin/maint/repair.php.
  2. Usa Reparar base de datos o Reparar y optimizar la base de datos.
  3. Cuando termines, borra la línea de wp-config.php.

Esta página de reparación no pide iniciar sesión: cualquiera que conozca la dirección puede usarla mientras la línea exista. Por eso es importante borrarla al terminar.

Opción 2: desde phpMyAdmin

  1. Entra a phpMyAdmin desde el panel de tu hosting.
  2. Selecciona la base de datos de tu sitio.
  3. Marca todas las tablas (Check all).
  4. En el menú desplegable, elige Repair table.
  5. Revisa si alguna tabla no se pudo reparar.
Opción Repair table en phpMyAdmin con todas las tablas seleccionadas

Si tu hosting es Znet-Hosting: phpMyAdmin está en el panel, en Web Tools › phpMyAdmin.

4.4 Reemplaza los archivos principales de WordPress

  1. Descarga la versión oficial de WordPress desde wordpress.org.
  2. Descomprime el paquete y elimina la carpeta wp-content y el archivo wp-config-sample.php: no los subas.
  3. Sube el resto de los archivos por FTP o con el administrador de archivos, sobrescribiendo los existentes.

Esto restablece los archivos principales sin tocar tu contenido, tus temas ni tus plugins.

4.5 Revisa plugins, tema, permisos y recursos

  • Plugins: si no puedes entrar al panel, renombra la carpeta wp-content/plugins a plugins.off por FTP. Si el sitio vuelve, devuélvele el nombre y desactiva los plugins uno por uno para encontrar al culpable.
  • Tema: renombra la carpeta del tema activo para que WordPress use uno por defecto, y revisa si el sitio carga.
  • Permisos del usuario de la base de datos: desde el panel de bases de datos, comprueba que el usuario tenga todos los privilegios sobre la base del sitio (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, entre otros).
  • Recursos: si el error aparece solo con mucho tráfico, el hosting puede estar llegando a su límite. Una caché o un plan con más recursos lo resuelve. Te damos más ideas en cómo optimizar WordPress.

4.6 Si nada funciona, contacta a tu hosting

Si hiciste todas las comprobaciones y el error sigue, escribe al soporte de tu hosting con:

  • El dominio afectado.
  • Los pasos que ya hiciste (revisión de wp-config.php, test.php, reparación) y el resultado de cada uno.
  • El mensaje exacto que muestra test.php.

Con eso, el soporte puede revisar los registros y el estado del servidor de base de datos mucho más rápido.

5. Cómo evitar que vuelva a pasar

  • Respaldos automáticos: diarios y antes de cada cambio importante.
  • Monitoreo de disponibilidad: para enterarte de una caída antes que tus clientes.
  • Caché: reduce las consultas a la base de datos en los picos de tráfico.
  • Menos plugins: cada plugin es una capa más de riesgo.
  • Actualizaciones ordenadas: plugins, tema y WordPress, probados primero en staging. Revisa cómo actualizar WordPress sin romper nada.
  • Un usuario de base de datos por sitio: con los permisos justos, nunca el usuario root.
  • Un hosting a la medida: si tu proyecto creció, un plan con más recursos o un VPS.

Preguntas frecuentes

¿Puedo arreglar esto sin un respaldo?

Sí, muchas veces se soluciona corrigiendo los datos de acceso o reparando las tablas. Aun así, siempre conviene hacer un respaldo antes de modificar algo.

¿Qué pasa si la reparación falla en phpMyAdmin?

Puede indicar una corrupción grave. En ese caso, restaura un respaldo o pide a tu hosting que te ayude a recuperar las tablas que se puedan salvar.

¿Puedo usar WP_ALLOW_REPAIR en un sitio en producción?

Sí, pero borra la línea de wp-config.php apenas termines, porque la página de reparación es pública mientras esté activa.

¿Para qué sirve test.php si ya revisé wp-config.php?

test.php prueba los datos de acceso sin pasar por WordPress. Así sabes si el problema está en la conexión con la base de datos o en el propio WordPress.

¿Znet-Hosting me ayuda a restaurar un respaldo?

Sí. Si tienes un respaldo en tu panel o nos pides ayuda, podemos restaurar la copia que indiques y guiarte en el proceso.

¿Cómo evito que vuelva a pasar por picos de tráfico?

Activa una caché, optimiza el sitio y, si el tráfico sigue creciendo, pasa a un plan con más recursos.

Sigue leyendo

Por Mauricio Zalles, Webmaster de Znet-Hosting. Actualizado el 18 de octubre de 2026.

Desplazamiento al inicio