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

Cómo solucionar el error 'Connection refused' en WordPress por la base de datos

Actualizado el 17 de junio de 2026

¡Hola! Si estás leyendo esto, es muy probable que te hayas encontrado con un mensaje de error bastante intimidante en tu sitio web de WordPress: "Error establishing a database connection" o, si eres más observador, el famoso error 'Connection refused' en los registros de tu servidor. No te preocupes, respira hondo. Es uno de los problemas más comunes en WordPress y, en la gran mayoría de los casos, tiene solución sin necesidad de ser un experto en informática.

En esta guía extensa y paso a paso, vamos a desglosar exactamente qué significa este error, por qué ocurre y, lo más importante, cómo solucionarlo tú mismo. Vamos a ir desde lo más simple (y menos doloroso) hasta lo más técnico. Al final, tendrás un plan de acción claro para que tu web vuelva a la vida.


¿Qué significa realmente el error 'Connection refused' en WordPress?

Antes de ponernos manos a la obra, es crucial entender qué está pasando. Imagina que tu sitio web es una tienda.

  • WordPress es el dependiente que atiende a los clientes (tus visitantes).
  • La base de datos (MySQL) es el almacén donde guardamos todos los productos (tus artículos, páginas, comentarios y configuraciones).

Cuando alguien visita tu web, el dependiente (WordPress) necesita ir al almacén (base de datos) a buscar los productos para mostrarlos. El error 'Connection refused' significa, literalmente, que el dependiente está intentando abrir la puerta del almacén, pero el almacén le está diciendo: "No, no te dejo entrar" o "No estoy escuchando".

Es diferente a otros errores de conexión donde la base de datos no existe o la contraseña es incorrecta. "Connection refused" (Conexión rechazada) suele implicar que el servidor de base de datos (MySQL) no está disponible, no está escuchando en el puerto esperado, o hay un cortafuegos que bloquea la comunicación. Es un problema de comunicación a nivel de red o de servicio, no de credenciales (aunque a veces las credenciales incorrectas pueden generar un mensaje similar en el panel de control).


Primeros pasos: Diagnóstico rápido y soluciones inmediatas

No te lances a tocar archivos de configuración todavía. Sigue este orden lógico para resolver el error connection refused wordpress. Muchas veces, la solución es más sencilla de lo que piensas.

1. Verifica si el problema es generalizado o solo tuyo

A veces, el problema no es tu web, sino tu conexión a internet o un problema temporal del servidor. Para descartarlo:

  • Usa una herramienta externa: Sitios como "Down For Everyone Or Just Me" te dirán si tu web está caída para todo el mundo o solo para ti.
  • Prueba con otro dispositivo: Intenta acceder a tu web desde el móvil con datos móviles (desactivando el WiFi) o desde otro ordenador. Si funciona, el problema está en tu red local.

2. Reinicia tu servidor (o el servicio de base de datos)

Esta es la regla de oro de la informática: "¿Lo has apagado y encendido?". Si tienes acceso a un panel de control de hosting (como cPanel, Plesk o Syspanel), busca la opción de "Restart MySQL" o "Restart Database".

  • En Syspanel (recuerda, se accede por el puerto 2106), busca en el menú lateral la sección de "Servicios" o "Bases de Datos". Suele haber un botón verde de "Reiniciar".
  • Si tu hosting es un VPS o servidor dedicado, puedes hacerlo por SSH con el comando sudo systemctl restart mysql (o mariadb).

Este simple paso soluciona un gran porcentaje de errores de conexión, ya que a veces el servicio de base de datos se cuelga o se satura.

3. Revisa el estado de tu servidor de base de datos

Si después de reiniciar sigue sin funcionar, quizás el servicio no está arrancando correctamente. En tu panel de control (o por SSH), verifica el estado:

  • En Syspanel, en la misma sección de "Servicios", deberías ver el estado del servicio MySQL. Debe decir "Running" o "Activo". Si dice "Stopped" o "Inactivo", intenta iniciarlo manualmente.
  • Por SSH, usa sudo systemctl status mysql.

[WARNING] Si el servicio no arranca, el problema es más profundo (disco lleno, configuración corrupta, etc.). Anota el mensaje de error que te da el sistema, ya que será clave para el soporte técnico.


Soluciones intermedias: Configuración y permisos

Si el servicio está activo y aún así recibes el error connection refused wordpress, el problema puede estar en la configuración de WordPress o en los permisos de red.

4. Verifica el archivo wp-config.php

Este es el archivo de configuración principal de WordPress. Contiene los datos de acceso a la base de datos. Es posible que algo se haya cambiado o que los datos sean incorrectos.

  • Accede a tu hosting por FTP o desde el administrador de archivos de tu panel de control.
  • Busca el archivo wp-config.php en la raíz de tu instalación de WordPress.
  • Ábrelo con un editor de texto (como Bloc de Notas o Visual Studio Code) y busca las líneas que definen la conexión a la base de datos:
define( 'DB_NAME', 'nombre_de_tu_base_de_datos' );
define( 'DB_USER', 'tu_usuario_de_bd' );
define( 'DB_PASSWORD', 'tu_contraseña_de_bd' );
define( 'DB_HOST', 'localhost' );
  • Verifica que estos datos sean correctos. El nombre de la base de datos, el usuario y la contraseña son los que creaste en tu panel de control. El DB_HOST es el punto clave aquí.

[INFO] Normalmente, DB_HOST es localhost, lo que significa que WordPress y la base de datos están en el mismo servidor. Sin embargo, a veces el hosting te da un host específico, como mysql.midominio.com o localhost:3307 (con un puerto específico). Si tu hosting te ha dado un host concreto, debes ponerlo aquí.

  • Prueba con el puerto: Si tu host es localhost, pero tu servidor MySQL usa un puerto no estándar, puedes probar a cambiarlo a localhost:3306 (el puerto por defecto) o al puerto que te haya indicado tu proveedor. A veces, el error "Connection refused" aparece porque WordPress está intentando conectar al puerto 3306 pero MySQL está escuchando en otro.

[TIP] Si no estás seguro de los datos, contacta con tu proveedor de hosting. Ellos te darán los datos exactos para tu wp-config.php.

5. Comprueba los cortafuegos y los límites de conexión

A veces, el cortafuegos del servidor bloquea las conexiones a la base de datos desde el propio servidor web (por una mala configuración de IPtables o similar). Esto es más común en VPS.

  • En tu panel de control, busca la sección de "Seguridad" o "Firewall".
  • Asegúrate de que hay una regla que permita el tráfico desde localhost (127.0.0.1) hacia el puerto 3306 (o el puerto que uses para MySQL).
  • También revisa si hay un límite de conexiones concurrentes. Si tu web recibe mucho tráfico, es posible que esté agotando el número máximo de conexiones a la base de datos. En este caso, tendrías que aumentar el valor max_connections en el archivo de configuración de MySQL (my.cnf o my.ini).

Soluciones avanzadas: Reparar la base de datos y problemas de red

Si has llegado hasta aquí, el problema es más tenaz. Vamos a por las soluciones técnicas.

6. Reparar la base de datos desde el panel de control

La base de datos en sí puede estar corrupta. La mayoría de los paneles de control tienen una herramienta de reparación.

  • En Syspanel (puerto 2106): Ve a la sección de "Bases de Datos" o "MySQL". Selecciona tu base de datos y busca el botón de "Repair" o "Reparar". Esto ejecutará una comprobación y reparación de las tablas.
  • En cPanel: Usa la herramienta "MySQL Databases" y luego "Check & Repair a Database".

Este proceso puede tardar unos minutos. Es una operación segura que no borra datos, solo corrige errores internos.

7. Optimizar las tablas de la base de datos

Relacionado con lo anterior, a veces las tablas están fragmentadas. "Optimizar" es como desfragmentar el disco duro de tu base de datos. No es una solución directa al error "Connection refused", pero puede ayudar si el problema es una lentitud extrema que provoca que el servidor agote el tiempo de espera.

  • En Syspanel o cPanel, busca la opción de "Optimizar" junto a tu base de datos.
  • También puedes hacerlo desde la herramienta phpMyAdmin (accesible desde la mayoría de paneles): selecciona todas las tablas, ve al desplegable inferior y elige "Optimizar tablas".

8. Revisar el archivo de configuración de MySQL (my.cnf)

Este paso es para usuarios con VPS o servidores dedicados. El archivo de configuración de MySQL a veces tiene errores que impiden que el servicio se inicie correctamente o que escuche en el puerto correcto.

  • Accede por SSH a tu servidor.
  • Abre el archivo de configuración: sudo nano /etc/mysql/my.cnf (la ruta puede variar).
  • Busca la línea port y bind-address. Debe ser algo así:
[mysqld]
port = 3306
bind-address = 127.0.0.1
  • bind-address debe ser 127.0.0.1 o localhost si solo vas a conectarte desde el mismo servidor. Si lo has cambiado a una IP externa, podría estar causando problemas de seguridad y de conexión.
  • Guarda el archivo (Ctrl+X, luego Y, luego Enter) y reinicia MySQL: sudo systemctl restart mysql.

FAQ: Preguntas frecuentes sobre el error de conexión a la base de datos

Aquí tienes las respuestas a las dudas más comunes que nos llegan sobre este tema.

¿Por qué me sale "Error establishing a database connection" en lugar de "Connection refused"?

Son dos caras de la misma moneda. "Error establishing a database connection" es el mensaje genérico que muestra WordPress. El error "Connection refused" es el detalle técnico que se registra en los logs del servidor. Ambos significan que WordPress no puede comunicarse con la base de datos.

¿Puedo perder mis datos si intento estas soluciones?

No. Ninguna de las soluciones que hemos visto aquí borra datos. Reiniciar servicios, verificar configuraciones o incluso reparar la base de datos son operaciones seguras. Lo único que podrías hacer es cambiar accidentalmente las credenciales en wp-config.php, pero eso se revierte fácilmente.

¿Qué hago si he probado todo y sigue sin funcionar?

Si has seguido todos los pasos y el error connection refused wordpress persiste, es el momento de contactar con el soporte técnico de tu proveedor de hosting. Ellos tienen acceso a los logs de error del servidor a un nivel más profundo. Dales el máximo de información posible:

  • El mensaje de error exacto.
  • Los pasos que ya has intentado.
  • La fecha y hora en que empezó el problema.

¿Es lo mismo usar "localhost" que "127.0.0.1" en DB_HOST?

A menudo, sí, pero no siempre. localhost puede intentar usar un socket de Unix (un método de comunicación más rápido), mientras que 127.0.0.1 fuerza el uso del protocolo TCP/IP. Si tienes problemas, prueba a cambiar entre uno y otro. Es un clásico que el cambio de localhost a 127.0.0.1 solucione el error.


Conclusión: Tu plan de acción definitivo

Para que no te pierdas, aquí tienes un resumen visual de los pasos a seguir:

  1. Comprueba si la web está caída para todos (usa una herramienta externa).
  2. Reinicia el servicio de base de datos (MySQL) desde tu panel de control (Syspanel en el puerto 2106, cPanel, etc.).
  3. Verifica el archivo wp-config.php: asegúrate de que DB_NAME, DB_USER, DB_PASSWORD y, sobre todo, DB_HOST son correctos. Prueba con localhost o 127.0.0.1.
  4. Revisa el cortafuegos: permite conexiones locales al puerto de MySQL (3306).
  5. Repara y optimiza la base de datos desde el panel de control o phpMyAdmin.
  6. Si tienes un VPS, revisa el my.cnf para ver el puerto y la dirección de escucha.
  7. Si nada funciona, llama al soporte técnico.

El error "Connection refused" puede ser frustrante, pero es un problema conocido y con solución. Con calma, siguiendo esta guía, tu sitio web de WordPress volverá a estar en línea en poco tiempo. ¡Mucha suerte!

¿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