MySQL/MariaDB -- Host blocked because many connection errors -- Flush Hosts -- Automatización


#1

1. Introducción

Este artículo explica cómo usar Core-Admin para resolver errores de conexión que son cacheados por el servidor MySQL/MariaDB y que causan errores de conexión en las aplicaciones cliente como:

Host '35.x.x.206' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"

2. Solución rápida con Core-Admin

Hasta ahora, no hay manera de desactivar esta característica del servidor MySQL/MariaDB y que bloquea a cualquier cliente que acumule errores de conexión. Las soluciones disponibles son:

  1. Usar la opción de borrar caché “FLUSH HOSTS” que proporciona el #MySQLManager de Core-Admin como se indica a continuación:

  2. To use “Flush host” option provided by #MySQLManager like this:

    image

    …y luego seleccionar a qué servidor MySQL/MariaDB se le aplicará el comando FLUSH HOSTS. Opcionalmente puede aplicarlo en todos ellos. Es seguro ejecutar este comando en entorno de producción:

    image

  3. Al mismo tiempo, si la situación se repite, tiene varias opciones: incrementar el número máximo de errores que deben ser alcanzados antes de comenzar a bloquear o automatizar el comando FLUSH HOSTS.

3. Incrementar el max connect errors para hacer menos frequente el Host blocked

Los siguientes pasos asumen que no puede modificar el lado cliente de la aplicación MySQL/MariaDB para corregir los errores que están causando estos bloqueos. La mejor manera siempre es corregir los errores. En caso de que no sea posible, use lo siguiente.

A continuación se muestran los pasos para configurar su servidor MySQL/MariaDB para incrementar el max connect errors (max_connect_errors) de manera que sea menos frequente el evento “Host Blocked” causandos por los errores de conexión:

  1. Vaya al servidor MySQL/MariaDB que quiera configurar y dentro de los ajustes MySQL, incremente el max connect errors. Este cambio reiniciará el servidor MySQL/MariaDB.

4. Automatize la ejecución del FLUSH HOSTS para que se haga a intervalos regulares

Los siguientes pasos asumen que no puede modificar el lado cliente de la aplicación MySQL/MariaDB para corregir los errores que están causando estos bloqueos. La mejor manera siempre es corregir los errores. En caso de que no sea posible, use lo siguiente.

A continuación se muestran los pasos para configurar Core-Admin para enviar comandos “FLUSH HOSTS” con la frecuencia configurada de manera que su servidor MySQL/MariaDB resetea los contadores que están causando estos bloqueos. Esto se configura del siguiente modo:

  1. Vaya al servidor MySQL/MariaDB que quiera configurar y dentro de los ajustes MySQL, configure automatizar flush hosts con el valor de frequencia más adecuado. Ete cambio NO reiniciará el servidor MySQL/MariaDB.