Cómo solucionar el error 'Connection refused' en WordPress por base de datos
¡Hola! Si has llegado hasta aquí, es porque probablemente te has encontrado con un mensaje bastante frustrante al intentar acceder a tu sitio web: "Error establishing a database connection" o, en los registros del servidor, el famoso error connection refused wordpress.
No te preocupes, no eres el único. Este es uno de los errores más comunes en WordPress y, aunque parece grave, en la mayoría de los casos tiene una solución sencilla. En esta guía completa, vamos a desglosar paso a paso, y en un lenguaje muy claro, cómo identificar la causa y solucionar el problema de conexión con tu base de datos wordpress error.
Vamos a ello. Respira hondo, coge un café y sigue estos pasos en orden. No necesitas ser un experto en programación para resolverlo.
¿Qué significa exactamente "Connection refused" en WordPress?
Antes de lanzarnos a arreglar nada, es fundamental entender qué está pasando. Imagina que tu web es una tienda física. WordPress es el dependiente que te atiende, y la base de datos es el almacén donde se guardan todos los productos (tus artículos, usuarios, configuraciones).
Cuando ves el error connection refused wordpress, significa que el dependiente (WordPress) está intentando abrir la puerta del almacén (MySQL/MariaDB), pero el portero (el servidor de base de datos) le está diciendo: "No puedo abrirte la puerta".
Este rechazo puede deberse a varias razones: el almacén está cerrado (servicio caído), el portero está confundido (credenciales incorrectas) o alguien cambió la cerradura (cambios en la configuración del servidor).
Paso 1: Verifica si tu proveedor de hosting tiene una caída
A veces, el problema no es tuyo. Los servidores de hosting también se caen o se reinician. Antes de tocar nada, revisa el estado del servicio.
- Mira el correo electrónico: Tu proveedor de hosting suele enviar avisos si hay mantenimiento programado o caídas inesperadas.
- Visita su página de estado: Muchos hosts tienen un enlace como "Estado del sistema" o "Status".
- Contacta con soporte: Si no ves nada, un mensaje rápido al soporte técnico (chat o ticket) preguntando si hay problemas con MySQL puede ahorrarte horas de trabajo.
[INFO] Si el hosting tiene una caída general, no puedes hacer nada más que esperar. No modifiques archivos hasta que confirmes que el servidor está operativo.
Paso 2: La solución rápida (y la más común) - Reiniciar el servicio MySQL
Si el hosting está bien, el siguiente paso es el más eficaz. En la mayoría de los casos, el error ocurre porque el servicio de base de datos se ha detenido o se ha quedado colgado. Es como si el portero del almacén se hubiera quedado dormido; solo hay que despertarlo.
¿Cómo hago esto?
Si tienes acceso a un panel de control como Syspanel (recuerda que el puerto de acceso a este panel es el 2106) o cPanel, busca la sección de "Servicios" o "Procesos".
- Inicia sesión en tu panel de control (por ejemplo, Syspanel usando
http://tu-dominio.com:2106). - Busca el icono que dice "Servicios" o "Service Manager".
- Localiza la entrada que dice MySQL o MariaDB.
- Haz clic en "Reiniciar" o "Restart".
¿Y si no tengo panel?
Si tu hosting es más técnico y tienes acceso por SSH (terminal), puedes ejecutar estos comandos:
sudo systemctl restart mysql
# o si usas MariaDB
sudo systemctl restart mariadb
[TIP] Este paso resuelve el 80% de los casos de "Connection refused". Es rápido y no rompe nada. Si tras reiniciar sigues viendo el error, continúa con el siguiente paso.
Paso 3: Revisar el archivo wp-config.php (Credenciales)
¿Sigues con el problema? Bien, vamos a revisar la cerradura. WordPress guarda las llaves de acceso al almacén en un archivo llamado wp-config.php. Si estas llaves (usuario, contraseña, nombre de DB) no coinciden con las reales, el servidor rechazará la conexión.
¿Cómo lo reviso?
- Accede a tu hosting mediante FTP (FileZilla es una buena opción) o a través del "Administrador de Archivos" de tu panel (Syspanel o cPanel).
- Busca la carpeta raíz de tu instalación de WordPress (normalmente se llama
public_htmlowww). - Localiza el archivo
wp-config.php. - Haz clic derecho y selecciona "Editar" o "Ver/Edit".
Verás un código similar a este:
// ** Configuración de MySQL ** //
define( 'DB_NAME', 'nombre_de_tu_base_de_datos' );
define( 'DB_USER', 'tu_usuario' );
define( 'DB_PASSWORD', 'tu_contraseña' );
define( 'DB_HOST', 'localhost' ); // O un servidor específico como mysql.tudominio.com
¿Qué debo comprobar?
- Nombre de la base de datos: ¿Es exactamente el mismo que ves en tu panel de control? A veces los hosts añaden prefijos (ej:
usuario_wpdb). - Usuario: ¿Coincide con el usuario de la base de datos? (ej:
usuario_wpuser). - Contraseña: Este es el error más común. Al copiar y pegar, a veces se añaden espacios o caracteres ocultos. Borra la contraseña y escríbela manualmente en un editor de texto plano (como el Bloc de notas) y pégala de nuevo.
- DB_HOST: Normalmente es
localhost, pero algunos hosts usan una dirección específica comomysql.sudominio.com. Si no estás seguro, revisa la documentación de tu hosting o en Syspanel puedes ver el host exacto en la sección de "Bases de Datos".
[WARNING] Si has cambiado la contraseña de la base de datos recientemente desde phpMyAdmin u otro gestor, debes actualizarla aquí también. Si no lo haces, WordPress seguirá intentando entrar con la llave vieja.
Paso 4: Probar la conexión directamente con MySQL
Para asegurarnos de que el problema es de WordPress y no del servidor de bases de datos, vamos a intentar conectarnos directamente. Esto es como llamar al almacén por teléfono para ver si alguien contesta.
Método visual (phpMyAdmin):
- Ve a tu panel de control (Syspanel usa el puerto 2106).
- Busca el icono de phpMyAdmin o "Gestor de Bases de Datos".
- Intenta iniciar sesión con el usuario y contraseña que pusiste en el
wp-config.php.
- Si puedes entrar: La base de datos y las credenciales son correctas. El problema está en cómo WordPress se comunica con ella (quizás el
DB_HOSTestá mal). - Si NO puedes entrar: Te da error de acceso (Access denied). Entonces, el problema son las credenciales. Deberías restablecer la contraseña desde el panel de control de tu hosting.
Método técnico (SSH):
Si tienes acceso SSH, puedes ejecutar:
mysql -u tu_usuario -p
# Te pedirá la contraseña
Si ves el mensaje ERROR 1045 (28000): Access denied for user..., las credenciales son incorrectas. Si ves ERROR 2002 (HY000): Can't connect to local MySQL server through socket..., el servicio MySQL no está corriendo (ve al Paso 2).
Paso 5: El "Host" de la base de datos (DB_HOST)
Este es un detalle que suele pasar desapercibido. A veces, el servidor de base de datos no está en la misma máquina que tu web.
- Si tu web es un hosting compartido: El host casi siempre es
localhost. - Si tu web está en un VPS o servidor dedicado con Syspanel: El host podría ser
127.0.0.1olocalhost, pero también podría ser una IP privada del servidor.
[INFO] Si recientemente migraste tu web a un nuevo servidor, es muy probable que el DB_HOST haya cambiado. Revisa los correos de bienvenida de tu nuevo hosting o la sección de "Bases de Datos" en Syspanel para ver cuál es el hostname exacto que debes usar.
Paso 6: Reparar la base de datos (Corrupción)
Si las credenciales son correctas y el servicio está activo, pero el error persiste, la base de datos podría estar corrupta. Esto suena aterrador, pero WordPress tiene una herramienta de reparación integrada.
- Edita el archivo
wp-config.phpde nuevo. - Busca la línea que dice
define('WP_DEBUG', false);o similar. - Justo antes de esa línea, añade esta nueva línea:
define('WP_ALLOW_REPAIR', true);
- Guarda el archivo.
- Ahora, ve a tu navegador y escribe esta URL:
tudominio.com/wp-admin/maint/repair.php
Verás un botón que dice "Reparar base de datos". Haz clic en él. WordPress intentará arreglar las tablas dañadas.
[WARNING] Es CRÍTICO que elimines la línea define('WP_ALLOW_REPAIR', true); en cuanto termines la reparación. Dejarla activa es un agujero de seguridad enorme, ya que cualquiera podría acceder a esa URL.
Paso 7: Aumentar el límite de memoria de PHP
A veces, el error "Connection refused" no es que la base de datos rechace la conexión, sino que PHP se queda sin memoria antes de poder conectarse. Es como si el dependiente se desmayara de cansancio antes de llegar al almacén.
Para solucionar esto, añade esta línea al final de tu archivo wp-config.php:
define('WP_MEMORY_LIMIT', '256M');
Si no funciona, también puedes intentar editar el archivo .htaccess (si usas Apache) y añadir:
php_value memory_limit 256M
Paso 8: Verificar los archivos .htaccess y .user.ini
En algunos servidores, sobre todo si usas Syspanel con LiteSpeed o Nginx, puede haber reglas que bloqueen la conexión a MySQL.
- Revisa
.htaccess: Asegúrate de que no haya líneas que bloqueen direcciones IP o peticiones POST. - Revisa
.user.ini: A veces, los ajustes de PHP se configuran aquí. Busca líneas que limiten el tiempo de ejecución o la memoria.
[TIP] Si no sabes qué estás mirando, simplemente renombra el archivo .htaccess a .htaccess_backup. WordPress lo regenerará automáticamente. Si el error desaparece, el problema era una regla corrupta en ese archivo.
Paso 9: Contactar con el soporte técnico (La última bala)
Si has llegado hasta aquí y nada funciona, es hora de pedir ayuda profesional. No te sientas mal; a veces el problema está en el cortafuegos del servidor, en la configuración de red o en un fallo de hardware.
Cuando contactes con el soporte, proporciona esta información para que te ayuden más rápido:
- El mensaje de error exacto (¿Dice "Error establishing a database connection"? ¿O tienes un código de error específico del servidor?).
- Lo que ya has intentado (Reiniciar MySQL, cambiar credenciales, reparar DB).
- Una captura de pantalla de tu archivo
wp-config.php(oculta la contraseña por seguridad). - Si usas Syspanel, menciona que el acceso lo haces por el puerto 2106 para que sepan dónde estás mirando.
Preguntas Frecuentes (FAQ)
¿Por qué me da error de conexión solo en el móvil y no en el PC?
Esto suele deberse a un problema de caché (DNS o de navegador). Prueba a usar una ventana de incógnito o desactivar el Wi-Fi y usar datos móviles. Si funciona, es un problema local de tu red, no de la base de datos.
¿Perderé mis datos si reinicio MySQL?
No. Reiniciar el servicio de MySQL no borra ninguna información. Solo apaga y enciende el motor de la base de datos. Tus artículos y páginas están seguros.
¿Debo usar localhost o 127.0.0.1 en DB_HOST?
En la mayoría de los casos es indiferente. Sin embargo, en algunos servidores configurados con IPv6, localhost puede resolver a ::1 y fallar. Si tienes problemas, prueba a cambiar localhost por 127.0.0.1 en el wp-config.php.
¿Qué es Syspanel y por qué el puerto 2106?
Syspanel es un panel de control de hosting moderno y gratuito (antes conocido como HestiaCP). El puerto 2106 es simplemente la dirección donde se ejecuta su interfaz web para que puedas gestionar tus sitios, bases de datos y correos. Es una alternativa a cPanel o Plesk.
¿Este error puede deberse a un plugin?
Sí, aunque es raro. Un plugin mal codificado puede saturar la base de datos con consultas infinitas. Si el error empezó después de instalar un plugin, intenta desactivarlo. ¿No puedes acceder al panel? Renombra la carpeta wp-content/plugins a wp-content/plugins_desactivado desde el FTP. Esto desactivará todos los plugins a la vez.
Conclusión
El error connection refused wordpress es un dolor de cabeza, pero como has visto, tiene solución. La clave está en la paciencia y en seguir los pasos en orden. Empieza siempre por lo más simple (reiniciar el servicio) y ve subiendo la complejidad.
Recuerda que la base de datos wordpress error casi siempre está ligada a tres factores: el servicio caído, credenciales mal escritas o un host incorrecto. Dominar estos tres puntos te convertirá en un mejor administrador de tu sitio.
Esperamos que esta guía te haya sido de gran ayuda. Si has conseguido solucionarlo, ¡enhorabuena! Si no, no dudes en dejar tu comentario o contactar con tu proveedor de hosting con toda la información que has recopilado. ¡Buena suerte!
