systemadmin.es > DBA > Host ‘ejemplo’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

Host ‘ejemplo’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

Es posible que al conectar a un MySQL recibamos el siguiente error:

Host 'ejemplo' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 

La solución la tenemos en el mismo error, hacer un FLUSH HOSTS. Vamos a ver que es y que variable controla este comportamiento.

La variable que controla el número máximo de errores de conexión que puede causar un cliente es max_connect_errors. Un host puede conectar normalmente siempre que lo haga con menos errores consecutivos que el valor de dicha variable. Pero si un host llega a este valor queda bloqueado hasta que se desbloquee con FLUSH HOSTS;

Las variables relacionadas con errores en la conexión cliente son:

  • Aborted_clients: Clientes que cierran la conexión incorrectamente (pero se han conectado bien)
  • Aborted_connects: Errores de conexión al MySQL totales

Podemos ver dichas variables mediante SHOW STATUS:

mysql> show status like '%abo%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| Aborted_clients  | 2071  |
| Aborted_connects | 13748 |
+------------------+-------+
2 rows in set (0.00 sec)

Podemos provocar un fallo de conexión mediante telnet:

$ telnet systemadmin.es 3306
Trying 1.2.3.4...
Connected to systemadmin.es.
Escape character is '^]'.
8
5.1.43-logd??9n@5*nmZ!?\=]?Qd"{ekhIConnection closed by foreign host.

Y podemos apreciar como se incrementa la variable Aborted_connects:

mysql> show status like '%abo%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| Aborted_clients  | 2071  |
| Aborted_connects | 13749 |
+------------------+-------+
2 rows in set (0.00 sec)

Estos errores, si no son causados por la librería que usamos para conectar, normalmente ocurren por problemas de red. Deberíamos revisar la configuración para que no existan problemas de rutas, duplex mismatch, sobrecarga en la red…

Como hemos visto antes, en el caso que nos quede bloqueado el host podemos desbloquearlo con FLUSH HOSTS:

mysql> flush hosts;
Query OK, 0 rows affected (0.00 sec)

10 comments to “Host ‘ejemplo’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’”

  1. Perfecto simple y practico.

  2. Amigo puedes decirme como lo desbloqueo?? soy un negado, no sé donde hay que restaurar ese codigo que pones o sea donde me meto, etc…. no tengo ni idea 🙁
    puedes guiarme más o menos como si fuera para dummies?

    Mil gracias!!!

  3. No entiendo nada. ¿Puedes explicarlo para el pueblo llano? No tengo ni idea de informática y he llegado a marcar “inspeccionar elemento” y creo que por ahí va la cosa, pero no sé seguir.

  4. Debes de hacer en el phpmyadmyn en cualquier base de datos le das “flush hosts” y das continuar o ejecutar y listo eso es todo.

  5. solo escribe en cualquier parte mysql flush hosts; y listo se desbloquea, si es en phpmyadmin al entrar hay una pestaña que dice mysql la abrs aparece un cuadro de texto y escribes alli flush hosts;

  6. Por qué cojones habláis como si todos fueramos informáticos? Puede parecer gracioso pero es una falta de respeto.

  7. Yo tampoco soy informático….
    Pero investigando un poco lo único que falta es que instales un programa tipo Mysql 5.7 command line client o similar, que te permita ejecutar estas instrucciones desde la línea de comandos.
    Yo lo he probado y funciona, aunque en mi caso finalmente el problema era de la pagina.
    Hay tutoriales en you tube y links de descarga, solo buscándolo en google
    Una vez instalado las instrucciones son correctas.
    La verdad las mas claras y sencillas que he encontrado
    gracias y un saludo

  8. Ruzack, yo no he escrito el post pero tu comentario (opino que) es de un pésimo gusto. Moral aparte, me gustaría comentarte que hay algunas reglas lingüísticas que una persona no informática, o una persona humanística como tú pareces, debería conocer para no parecer analfabeta, o con un ligero retardo, cuando escribe comentarios…

  9. Muy buen post, se entiende a la perfección la raíz del problema y la solución XD

  10. Lo que yo no entiendo es por que la gente se mete a informatico si no lo es.

    Esta pagina es para sysadmin no para blogueros venidos a mas.

    Si no entendeis lo que expone el post, lo mejor que podeis hacer es buscar y contratar un sysadmin de verdad.

    Gracias por el post, todo muy claro

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>