Cómo Solucionar el Error de Conexión MySQLi 'Connection Refused' en PHP de Forma Definitiva

Cómo Solucionar el Error de Conexión MySQLi 'Connection Refused' en PHP de Forma Definitiva
Anuncio relacionado

Introducción

El error de conexión mysqli_connect(): (HY000/2002): Connection refused es uno de los problemas más comunes a los que nos enfrentamos los desarrolladores web al trabajar con PHP y bases de datos MySQL o MariaDB. Este fallo interrumpe por completo la comunicación entre tu script backend y el servidor de base de datos, impidiendo que la aplicación web cargue cualquier tipo de información dinámica.

Causas Principales del Error

Existen diversos motivos por los cuales el servidor rechaza la conexión desde PHP:

  • El servicio de MySQL o MariaDB se encuentra detenido o no está activo en el servidor.
  • Estás intentando conectar mediante una dirección IP incorrecta o el puerto predeterminado (3306) ha sido modificado.
  • El archivo de configuración my.cnf o my.ini bloquea las conexiones externas o de red local mediante la directiva bind-address.
  • Credenciales de acceso incorrectas (usuario, contraseña o host no autorizados en la base de datos).

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

Lo primero que debes comprobar es si el motor de base de datos está ejecutándose correctamente en tu entorno local o servidor de producción.

  1. Abre tu terminal SSH o línea de comandos con privilegios de administrador.
  2. Ejecuta el siguiente comando para comprobar el estado del servicio en sistemas basados en Linux (Ubuntu/Debian):
    sudo systemctl status mysql
  3. Si el servicio está detenido, inícialo con el comando:
    sudo systemctl start mysql
  4. Para asegurarte de que se mantenga activo tras reiniciar el servidor, habilítalo:
    sudo systemctl enable mysql

Método 2: Revisar la Directiva Bind-Address en la Configuración

Si el servicio está activo pero sigues recibiendo el error de rechazo, es muy probable que MySQL esté configurado para escuchar únicamente peticiones locales (localhost) y tu script intente conectar mediante 127.0.0.1 o viceversa.

  1. Localiza el archivo de configuración de MySQL. En sistemas Linux suele encontrarse en /etc/mysql/mysql.conf.d/mysqld.cnf o /etc/my.cnf.
  2. Ábrelo con tu editor de texto favorito (por ejemplo, Nano):
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  3. Busca la línea que contiene bind-address. Debería verse así:
    bind-address = 127.0.0.1
  4. Si necesitas permitir conexiones externas, puedes cambiarlo temporalmente por 0.0.0.0 o asegurarte de que apunte correctamente a 127.0.0.1 si PHP y MySQL residen en la misma máquina.
  5. Guarda los cambios y reinicia el servidor MySQL:
    sudo systemctl restart mysql

Método 3: Validar los Parámetros de Conexión en PHP

A veces el error proviene simplemente de un parámetro mal escrito en la función de conexión de PHP. Asegúrate de pasar correctamente los argumentos: servidor, usuario, contraseña y base de datos.

Ejemplo de código correcto para conexión con MySQLi:


$conexion = mysqli_connect('127.0.0.1', 'usuario_db', 'password_db', 'nombre_db', 3306);
if (!$conexion) {
    die('Error de depuración: ' . mysqli_connect_error());
}
echo '¡Conexión exitosa!';

Verifica que el puerto 3306 esté abierto y que ningún firewall de tu servidor (como UFW o iptables) esté bloqueando el tráfico interno entre PHP y el gestor de base de datos.

Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Juegos

Cómo Solucionar el Error Content File Locked en Steam de Forma Definitiva

¿Tus juegos de Steam se quedan congelados durante la descarga? Descubre cómo solucionar el error Content File Locked de forma rápida y definitiva.

Leer guía completa →
WordPress

Cómo Solucionar la Pantalla Blanca de la Muerte en WordPress de Forma Definitiva

La Pantalla Blanca de la Muerte es uno de los fallos más temidos en WordPress. Aprende a identificar su causa y a solucionarla rápidamente.

Leer guía completa →
Juegos

Cómo Solucionar el Error Fatal D3D en Juegos de PC de Forma Definitiva

Aprende a corregir el error fatal D3D que interrumpe tus partidas. Soluciones efectivas y actualizadas para tarjetas gráficas.

Leer guía completa →