# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Host ‘host_name’ is blocked because of many connection errors. Unblock with ‘mysqladmin flush-hosts


No hay duda que si todos los errores en el mundo de los sistemas fueran tan sumamente descriptivos como este a muchos se nos terminaría rápido el trabajo. Bromas aparte, si os encontráis con un error como el siguiente a la hora de conectar a un servidor MySQL:

Host ‘host_name’ is blocked because of many connection errors.
Unblock with ‘mysqladmin flush-hosts’

La solución está clara, acceder al servidor MySQL y ejecutar el comando siguiente como root:

mysqladmin flush-hosts

El origen del problema es que el servidor MySQL ha recibido demasiados intentos de conexión desde la máquina indicada que han sido interrumpidos. Este tipo de conexiones fallidas provocan que el servidor MySQL detecte indicios de actividad sospechosa desde el host que está generando los errores, y por seguridad decide bloquearle el acceso.

Por defecto, Mysql está configurado para permitir 10 conexiones incorrectas antes de bloquearlo, si queremos ampliar este número deberemos reconfigurar la siguiente variables en nuestro fichero de configuración (my.cnf):

max_connect_errors= xxxx

Lo recomendable de todas formas es detectar el origen del problema para evitar tener que modificar un parámetro como este que puede afectar a la seguridad de nuestro sistema, analizar el origen de estas conexiones, el porqué de los fallos, etc.

Categoría: MySQL | Etiquetas: , ,

11 Comentarios

  1. edgar dice:

    alguien me puede decir como se arregla esto?

  2. Alex dice:

    El propio artículo lo dice…

    mysqladmin flush-hosts

  3. Gabriel dice:

    Muchas gracias por la respuesta, pero dispulpa mi ignorancia en donde se ejecuta dicho comando. Cuando abro el MyPhPAdmin no veo la opción de ejecutar el comando indicado como root. Es posible que este problema se deba a un posible ataque de un hacker?

  4. Alex dice:

    Hola Gabriel,

    Lo tienes que hacer desde la línea de comandos:

    mysqladmin flush-hosts

    Para revisar si es un posible ataque habría que revisar los logs, programación, etc.

    Saludos

    • Alejandro dice:

      Este error puede ser causado por que puedes estar tratando de conectar tu base de datos como si estuviese de forma externa cuando esta almacenada en el servidor donde esta alojada la base de datos ejemplo:

      $dbconecta=mysql_connect(“nombrepagina.com”,”usuario”,”password”);—-> Error!
      $dbconecta=mysql_connect(“localhost”,”usuario”,”password”);———–> Bien!

      Cambiandole este parametro no es necesario ejecutar el comando flush ya que muchos servidores bloquean estas funciones de usuario root…

  5. Alejandra dice:

    Y si el comando no funciona????. Lo que está haciendo el comando hasta ahora es cambiarme la clave del usuario root con ingreso desde localhost. A alguien le paso???.

  6. Alejandro dice:

    Este error puede ser causado por que puedes estar tratando de conectar tu base de datos como si estuviese de forma externa cuando esta almacenada en el servidor donde esta alojada la base de datos ejemplo:

    $dbconecta=mysql_connect(“nombrepagina.com”,”usuario”,”password”);—-> Error!
    $dbconecta=mysql_connect(“localhost”,”usuario”,”password”);———–> Bien!

    Cambiandole este parametro no es necesario ejecutar el comando flush ya que muchos servidores bloquean estas funciones de usuario root…

  7. Hosting dice:

    Desde SSH, ingresar con el usuario root y ejecutar mysqladmin flush-hosts

    y listo!!!

  8. marvel23 dice:

    Hola que tal, tengo el mismo problema. Y aun sigo sin entender donde se pone ese comando. Se ingresa desde el phpmyadmin?? Lo que sucede tengo un hosting contratado y eh entrado al panel de control, y posteriormente al apartado de mysql de phpmyadmin pero no veo donde poner ese comando. Agradeceria su ayuda.
    Igual intente hacer lo que propuso “Alejandro” lo de verificar $dbconecta=mysql_connect(“nombrepagina.com”,”usuario”,”password”);—-> Error! $dbconecta=mysql_connect(“localhost”,”usuario”,”password”);———–> Bien!
    Y efectivamente mi configuracion esta bien.
    De antemano gracias.

  9. Ivan dice:

    Este problema me sucede cuando quiero acceder a una página (host) desde el chrome.
    Yo no instalé mysql, ¿cómo accedo a el que entiendo que utiliza el chrome para desbloquear el host?

Deja una respuesta