Cómo Solucionar el Error 'mysqli_connect(): Connection refused' en PHP y MySQL

Cómo Solucionar el Error 'mysqli_connect(): Connection refused' en PHP y MySQL
Anuncio relacionado

Introducción

Uno de los problemas más frustrantes para los desarrolladores web que trabajan con PHP y bases de datos relacionales es encontrarse con el mensaje mysqli_connect(): (HY000/2002): Connection refused. Este fallo interrumpe por completo la comunicación entre tu aplicación backend y el servidor de MySQL, impidiendo que el sitio web cargue cualquier información dinámica.

Causas Principales del Error

El error de conexión rechazada suele estar relacionado con fallos de configuración en el servicio de base de datos, credenciales incorrectas o restricciones de red. Las causas más comunes incluyen:

  • El servicio de MySQL/MariaDB se encuentra detenido o no se está ejecutando.
  • La aplicación intenta conectarse a un host (por ejemplo, localhost vs 127.0.0.1) o puerto incorrecto.
  • Restricciones en el archivo de configuración de MySQL (my.cnf o mysqld.cnf) que bloquean las conexiones externas o locales.
  • Credenciales de acceso (usuario, contraseña) erróneas en el script de PHP.

Método 1: Verificar y Reiniciar el Servicio de MySQL

El primer paso y el más común para resolver este problema es asegurarte de que el servidor de base de datos esté activo. Sigue estos pasos en tu terminal (Linux/macOS):

  1. Abre tu terminal y comprueba el estado actual del servicio ejecutando el siguiente comando:
    sudo systemctl status mysql
  2. Si el servicio aparece como detenido o inactivo, inícialo inmediatamente con:
    sudo systemctl start mysql
  3. Para asegurarte de que se ejecute automáticamente tras reiniciar el sistema, habilítalo:
    sudo systemctl enable mysql

Método 2: Comprobar el Host y las Credenciales en el Script PHP

Muchas veces el error ocurre porque PHP intenta buscar el servidor en un socket incorrecto. Cambiar de localhost a 127.0.0.1 suele solucionar este inconveniente de forma inmediata.

  1. Abre tu archivo de conexión en PHP (por ejemplo, conexion.php).
  2. Localiza la función de conexión, que suele tener este aspecto:
    $conexion = mysqli_connect('localhost', 'usuario', 'password', 'base_datos');
  3. Modifica el primer parámetro de 'localhost' a '127.0.0.1' para forzar el uso del protocolo TCP/IP:
    $conexion = mysqli_connect('127.0.0.1', 'usuario', 'password', 'base_datos');
  4. Guarda los cambios y recarga la página en tu navegador web.

Método 3: Revisar el Archivo de Configuración de MySQL (bind-address)

Si tu servidor web y tu base de datos están en máquinas separadas, o si el servicio rechaza cualquier intento de conexión entrante, debes revisar la directiva bind-address.

  1. Abre el archivo de configuración de MySQL con un editor de texto con privilegios de root:
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  2. Busca la línea que contiene bind-address. Debería verse así:
    bind-address = 127.0.0.1
  3. Si necesitas permitir conexiones desde cualquier IP (solo recomendado en entornos de desarrollo controlados), puedes comentarla o cambiarla por 0.0.0.0.
  4. Guarda el archivo y reinicia MySQL para aplicar los cambios:
    sudo systemctl restart mysql
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
WordPress

Cómo Solucionar la Pantalla Blanca de la Muerte (WSoD) en WordPress Paso a Paso

La Pantalla Blanca de la Muerte (WSoD) es uno de los problemas más frustrantes en WordPress. Aprende a identificar sus causas y a solucionarla de forma definitiva.

Leer guía completa →
Hardware

Cómo Solucionar el Error Pantalla Azul Memory Management en Windows de Forma Definitiva

La temida pantalla azul por Memory Management indica fallos en la RAM o su gestión. Descubre cómo solucionarlo definitivamente.

Leer guía completa →
Shopify

Cómo Solucionar el Error 'Liquid Syntax Error' en Shopify de Forma Definitiva

Descubre por qué ocurre el error de sintaxis en Liquid dentro de Shopify y cómo solucionarlo rápidamente editando tus archivos de tema. Evita caídas en tu tienda online hoy mismo.

Leer guía completa →