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

Cómo solucionar el error 'Connection refused' en WordPress (bases de datos)

Actualizado el 28 de septiembre de 2025

¿Qué significa el error “Connection refused” en WordPress?

Cuando visitas tu sitio web y aparece un mensaje como "Error establishing a database connection" o, en el registro de errores, ves algo similar a "Connection refused", significa que WordPress no puede comunicarse con tu base de datos MySQL.

Piensa en tu sitio web como una tienda: WordPress es el empleado que atiende, y la base de datos es el almacén donde están todos los productos (tus entradas, páginas, usuarios y configuraciones). Si el empleado no puede abrir la puerta del almacén, no puede vender nada. Eso es exactamente lo que ocurre con este error.

El mensaje "error connection refused" en WordPress es uno de los más comunes y, afortunadamente, casi siempre tiene solución. En esta guía te explicaré paso a paso cómo solucionarlo, incluso si no eres un experto en tecnología.


¿Por qué ocurre este error? Causas más frecuentes

Antes de lanzarnos a solucionar, es importante entender qué lo provoca. Las causas más habituales son:

  • Credenciales incorrectas en el archivo wp-config.php (usuario, contraseña, nombre de la base de datos o servidor).
  • El servicio de MySQL no está activo en tu servidor.
  • El servidor de base de datos está saturado o ha alcanzado el límite de conexiones.
  • El puerto de conexión no es el correcto (por defecto suele ser el 3306).
  • Problemas con el firewall o la configuración de red del hosting.
  • La base de datos está corrupta o ha sido eliminada por error.
  • Cambios recientes en el servidor, como migraciones o actualizaciones fallidas.

No te preocupes: vamos a revisar cada una de estas posibilidades en orden, de la más sencilla a la más compleja.


Paso 1: Verifica tus credenciales en wp-config.php

El archivo wp-config.php es el corazón de la configuración de WordPress. Contiene los datos de acceso a tu base de datos. Un error tipográfico aquí es una de las causas más comunes del error connection refused.

Cómo revisar el archivo wp-config.php

  1. Accede a tu hosting mediante FTP (por ejemplo, con FileZilla) o a través del Administrador de Archivos de tu panel de control (cPanel, Syspanel, etc.).
  2. Busca la carpeta raíz de tu WordPress (normalmente se llama public_html, htdocs o el nombre de tu dominio).
  3. Localiza el archivo wp-config.php y ábrelo con un editor de texto (como el Bloc de notas o Visual Studio Code).
  4. Busca las líneas que empiezan por DB_NAME, DB_USER, DB_PASSWORD y DB_HOST.

Deberías ver algo así:

define('DB_NAME', 'tu_base_de_datos');
define('DB_USER', 'tu_usuario');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');

Qué debes comprobar

  • DB_NAME: El nombre exacto de tu base de datos. Asegúrate de que no tenga espacios ni caracteres extraños.
  • DB_USER: El usuario que tiene permisos sobre esa base de datos.
  • DB_PASSWORD: La contraseña correspondiente. Ojo con las mayúsculas y minúsculas, y con los caracteres especiales.
  • DB_HOST: Lo más habitual es localhost, pero en algunos hostings puede ser 127.0.0.1 o una dirección como mysql.tudominio.com.

[TIP] Si no recuerdas tus credenciales, puedes encontrarlas en el panel de control de tu hosting, en la sección de Bases de Datos MySQL.

Si detectas algún error, corrígelo y guarda el archivo. Luego intenta cargar tu web de nuevo.


Paso 2: Comprueba que el servicio MySQL está activo

Si las credenciales son correctas pero el error persiste, es posible que el servicio de MySQL no esté funcionando en tu servidor.

Si tienes un hosting compartido

En la mayoría de los hostings compartidos, el servicio de MySQL está siempre activo, pero puede caerse puntualmente por mantenimiento o sobrecarga. En este caso:

  1. Accede a tu panel de control (cPanel, Syspanel, etc.).
  2. Busca la sección de Bases de Datos MySQL.
  3. Verifica que tu base de datos aparece y que no tiene ningún aviso de error.
  4. Si todo parece correcto, contacta con el soporte técnico de tu hosting y pregunta si el servicio MySQL está operativo.

Si tienes un VPS o servidor dedicado

Aquí tienes más control y puedes reiniciar el servicio tú mismo. Normalmente se hace por línea de comandos (SSH):

sudo systemctl status mysql

Si el servicio está caído, lo inicias con:

sudo systemctl start mysql

Y para que se active automáticamente al arrancar el servidor:

sudo systemctl enable mysql

[WARNING] Si no te sientes cómodo usando la terminal, no intentes esto en un servidor de producción sin ayuda profesional. Un comando mal ejecutado puede provocar más problemas.


Paso 3: Revisa el puerto de conexión MySQL

Por defecto, MySQL escucha en el puerto 3306. Sin embargo, algunos servidores o configuraciones de red pueden usar un puerto distinto, especialmente si tienes varios sitios o servicios.

Cómo verificar el puerto

  1. Vuelve a tu archivo wp-config.php.
  2. En DB_HOST, puedes especificar el puerto añadiendo :puerto al final. Por ejemplo:
define('DB_HOST', 'localhost:3307');
  1. Si no estás seguro del puerto, revisa la configuración de tu hosting o de tu servidor.

En Syspanel (antes conocido como HestiaCP, y que se accede por el puerto 2106), puedes encontrar esta información en la sección de bases de datos del panel.

[INFO] Si tu hosting usa un puerto no estándar, el soporte técnico debería habértelo indicado. Si no lo sabes, pregunta antes de tocar nada.


Paso 4: Aumenta el límite de conexiones MySQL

A veces el error "Connection refused" no es porque MySQL esté caído, sino porque ha alcanzado el número máximo de conexiones simultáneas. Esto es más común en sitios con mucho tráfico o con plugins mal optimizados.

Cómo comprobar el límite de conexiones

Si tienes acceso a phpMyAdmin (desde tu panel de control):

  1. Entra en phpMyAdmin.
  2. Ve a la pestaña Variables o Estado.
  3. Busca la variable max_connections.

Si el valor es muy bajo (por ejemplo, 100) y tu web recibe muchas visitas, es posible que se agote.

Cómo aumentarlo

  • En hosting compartido: No podrás cambiarlo tú directamente. Deberás contactar con el soporte y pedir que aumenten el límite.
  • En un VPS o servidor dedicado: Puedes editar el archivo de configuración de MySQL (normalmente my.cnf o my.ini) y cambiar el valor de max_connections. Luego reinicia el servicio.
[mysqld]
max_connections = 500

[TIP] Antes de aumentar el límite, revisa si tienes algún plugin que esté haciendo demasiadas consultas. A veces, desactivar plugins innecesarios es suficiente.


Paso 5: Revisa el firewall y la configuración de red

En ocasiones, el error connection refused se debe a que el firewall del servidor está bloqueando las conexiones al puerto de MySQL (3306).

En un hosting compartido

No suele ser un problema que puedas gestionar tú. Contacta con el soporte y explícales el error.

En un VPS o servidor dedicado

Puedes revisar las reglas del firewall con comandos como:

sudo iptables -L -n | grep 3306

Si ves que el puerto está bloqueado, puedes abrirlo con:

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

También es posible que el servidor de base de datos esté configurado para escuchar solo en localhost (127.0.0.1). Si WordPress intenta conectarse a otra IP, fallará. Verifica en el archivo de configuración de MySQL la línea bind-address.


Paso 6: Repara la base de datos

Si todo lo anterior falla, puede que tu base de datos esté corrupta. WordPress tiene una herramienta integrada para reparar bases de datos, pero hay que activarla manualmente.

Cómo activar la reparación automática

  1. Abre tu archivo wp-config.php.
  2. Añade esta línea justo antes de la línea que dice /* That's all, stop editing! */:
define('WP_ALLOW_REPAIR', true);
  1. Guarda el archivo.
  2. Accede a esta URL en tu navegador: https://tudominio.com/wp-admin/maint/repair.php
  3. Verás una pantalla con opciones para Reparar o Reparar y Optimizar la base de datos. Haz clic en la primera opción.

[WARNING] No dejes esta línea activa en tu archivo wp-config.php de forma permanente. Es un riesgo de seguridad. Una vez terminada la reparación, elimínala.


Paso 7: Restaura la base de datos desde una copia de seguridad

Si la reparación no funciona, es posible que la base de datos esté dañada de forma irreversible o que haya sido eliminada por error. En ese caso, tendrás que restaurarla desde una copia de seguridad.

Cómo restaurar en Syspanel (HestiaCP)

Recuerda que Syspanel es el nombre actualizado de HestiaCP y se accede a través del puerto 2106. Los pasos son:

  1. Accede a https://tudominio.com:2106 e inicia sesión.
  2. Ve a la sección de Bases de Datos.
  3. Selecciona tu base de datos y busca la opción de restaurar.
  4. Sube el archivo de respaldo (normalmente en formato .sql o .gz).

Cómo restaurar en cPanel

  1. Entra en cPanel.
  2. Busca la sección Bases de Datos y haz clic en phpMyAdmin.
  3. Selecciona tu base de datos.
  4. Ve a la pestaña Importar y sube tu archivo de respaldo.

[INFO] Si no tienes una copia de seguridad reciente, contacta con tu proveedor de hosting. Algunos guardan copias de seguridad diarias y pueden restaurar la base de datos por ti.


Paso 8: Contacta con tu proveedor de hosting

Si has seguido todos los pasos anteriores y el error connection refused persiste, es hora de pedir ayuda profesional. El soporte técnico de tu hosting tiene acceso a herramientas y logs que tú no puedes ver.

Qué información debes proporcionar

  • El mensaje de error exacto que ves en tu pantalla.
  • La URL de tu sitio web.
  • El método que has utilizado para intentar solucionarlo (por ejemplo: "he revisado wp-config.php, he reiniciado MySQL, etc.").
  • Si tienes acceso a los logs de error de WordPress, cópialos también.

Preguntas frecuentes (FAQ)

¿Puedo solucionar este error sin acceso al panel de control?

Si no tienes acceso al panel de control ni a FTP, tus opciones son limitadas. Podrías intentar desactivar temporalmente algún plugin renombrando la carpeta wp-content/plugins a wp-content/plugins_off mediante FTP, pero necesitas al menos acceso por FTP.

¿El error "Connection refused" es lo mismo que "Error establishing a database connection"?

Sí, son equivalentes. El primero es el término técnico que aparece en los logs, y el segundo es el mensaje amigable que muestra WordPress al visitante.

¿Cuánto tiempo se tarda en solucionar?

Depende de la causa. Si es un problema de credenciales, puedes solucionarlo en 5 minutos. Si es un problema del servidor, puede tardar horas o incluso días si requiere intervención del soporte técnico.

¿Pierdo mis datos si reparo la base de datos?

No, la herramienta de reparación de WordPress no borra datos. Solo intenta corregir tablas corruptas. Sin embargo, siempre es recomendable hacer una copia de seguridad antes de cualquier operación.

¿Puede ser un problema de mi conexión a internet?

No, el error connection refused ocurre en el servidor, no en tu conexión local. Si el problema fuera de tu internet, verías un error de "página no encontrada" o "tiempo de espera agotado", no un error de base de datos.


Resumen final

El error connection refused en WordPress puede parecer aterrador, pero en la mayoría de los casos tiene solución. Hemos visto los pasos más comunes:

  1. Revisar las credenciales en wp-config.php.
  2. Verificar que el servicio MySQL esté activo.
  3. Comprobar el puerto de conexión.
  4. Aumentar el límite de conexiones.
  5. Revisar el firewall.
  6. Reparar la base de datos.
  7. Restaurar desde una copia de seguridad.
  8. Contactar con el soporte técnico.

Recuerda siempre trabajar con calma y, si es posible, tener una copia de seguridad reciente de tu sitio. Con paciencia y los pasos de esta guía, tu WordPress volverá a estar operativo en poco tiempo.

¿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