Volver a la página principal
lunes 15 julio 2024
141

Cómo solucionar el error "MySQL ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)"

Causas comunes del error

1. Servidor MySQL no está ejecutándose: El servicio MySQL no está en funcionamiento.

2. Configuración incorrecta del puerto: El servidor MySQL no está escuchando en el puerto correcto.

3. Firewall bloqueando el puerto: El firewall está bloqueando el puerto de MySQL.

4. Problemas de red: Problemas con la configuración de red o conexión a 'localhost'.

5. Archivos de configuración incorrectos: Archivos de configuración de MySQL incorrectos o mal configurados.

Soluciones

1. Verificar que el servidor MySQL está ejecutándose

Asegúrate de que el servidor MySQL esté en funcionamiento.

  • Linux:
sudo service mysql status
  sudo service mysql start  # Para iniciar el servicio si está detenido
  • Windows:
  • Abre el Administrador de Servicios (services.msc).
  • Busca "MySQL" o "MySQL57" (o el nombre correspondiente a tu instalación).
  • Verifica que el estado del servicio es "En ejecución" y, si no lo está, haz clic en "Iniciar".

2. Verificar la configuración del puerto

Asegúrate de que MySQL esté configurado para escuchar en el puerto correcto (por defecto, 3306).

  • Revisa el archivo de configuración de MySQL (my.cnf en Linux o my.ini en Windows):
  • Linux:
sudo nano /etc/mysql/my.cnf
  • Windows:
  • Abre C:\Program Files\MySQL\MySQL Server X.Y\my.ini (donde X.Y es la versión de MySQL).
  • Busca la sección [mysqld] y asegúrate de que el puerto esté configurado correctamente:
[mysqld]
    port = 3306
  • Reinicia el servicio MySQL después de realizar cambios en la configuración.

3. Verificar el firewall

Asegúrate de que el firewall no esté bloqueando el puerto 3306.

  • Linux (con ufw):
sudo ufw allow 3306/tcp
  • Windows:
  • Abre Firewall de Windows con seguridad avanzada.
  • Crea una nueva regla de entrada para permitir conexiones TCP en el puerto 3306.

4. Verificar la configuración de red

Asegúrate de que 'localhost' esté resolviendo correctamente. Puedes probar conectarte a 127.0.0.1 en lugar de 'localhost':

mysql -u root -p -h 127.0.0.1

5. Verificar los archivos de configuración

Asegúrate de que los archivos de configuración de MySQL no estén corruptos o mal configurados. Puedes intentar regenerar un archivo de configuración predeterminado.

Ejemplo de solución paso a paso

Supongamos que recibes el error al intentar conectarte a MySQL:

mysql -u root -p

1. Verificar el estado del servidor MySQL:

  • Linux:
sudo service mysql status
  • Windows:
  • Abre Administrador de Servicios (services.msc).
  • Busca el servicio de MySQL y verifica que esté en "En ejecución".

2. Revisar el archivo de configuración para el puerto:

  • Linux:
sudo nano /etc/mysql/my.cnf
  • Windows:
  • Abre C:\Program Files\MySQL\MySQL Server X.Y\my.ini.
  • Asegúrate de que la sección [mysqld] contenga:
[mysqld]
     port = 3306

3. Verificar las reglas del firewall:

  • Linux:
sudo ufw allow 3306/tcp
  • Windows:
  • Abre Firewall de Windows con seguridad avanzada.
  • Añade una nueva regla de entrada para permitir el puerto 3306.

4. Intentar conectar usando la dirección IP:

mysql -u root -p -h 127.0.0.1
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer