Desbloquear con Mysqladmin Flush Hosts en MySQL
- Razones para bloquear un host
- Cómo lidiar con hosts bloqueados
-
Efectos de vaciar la tabla
host_cache
- Diferentes formas de vaciar hosts
- Conclusión
En este tutorial, aprenderemos sobre las razones para bloquear un host. También veremos cómo desbloquear con mysqladmin flush-hosts;
en MySQL
.
Luego, encontraremos los diferentes métodos para vaciar el host_cache
para una conexión exitosa. Después de eso, también veremos los efectos de vaciar la tabla host_cache
.
Razones para bloquear un host
Cualquiera de las siguientes razones puede hacer que su host (host_name
) sea bloqueado.
- Un host,
host_name
se bloquea cuando alguno de sus hosts ha cambiado la direcciónIP
. - Host,
host_name
está bloqueado debido a muchos errores de conexión. Significa quemysqld
recibió muchas solicitudes de conexión interrumpidas.
Cómo lidiar con hosts bloqueados
El host_cache
tiene el HOST
, IP
, SUM_CONNECT_ERRORS
del cliente y otros detalles necesarios.
Caché de host se utiliza para rastrear los errores de conexión. El servidor MySQL
usa host_cache
para rastrear los errores durante el proceso de conexión del cliente.
Suponga que obtiene el siguiente error al realizar una conexión. Entonces significa que mysqld
ha recibido muchas solicitudes de conexión interrumpidas en el medio.
Ahora, no te deja conectarte de nuevo.
Host 'host_name' is blocked because of many connection errors.
Unblock with mysqladmin flush-hosts
La variable del sistema max_connect_errors
determina el número de solicitudes de conexión interrumpidas.
Si el número de solicitudes de conexión interrumpidas excede las permitidas, su host se bloquea. Y no puede enviar la solicitud de conexión adicional hasta que vacíe la tabla hosts_cache
.
Es porque mysqld
asume que alguien está tratando de entrar o que algo anda mal. En esta situación, no puede enviar la solicitud de conexión hasta que borre la tabla host-cache
.
Puede usar mysqladmin flush-hosts;
desde un símbolo del sistema/terminal. También puede utilizar el FLUSH HOSTS;
declaración en phpMyAdmin
.
Efectos de vaciar la tabla host_cache
Puede tener uno o más efectos si desbloquea el host mediante el vaciado de host_cache
. Esos efectos se enumeran a continuación.
- Se borraría
host_cache
en memoria. - Desbloquea el host que estaba bloqueado previamente.
- Se eliminarían todas las filas de
host_cache
.
Diferentes formas de vaciar hosts
Estos son los diferentes métodos que puede usar para vaciar hosts. Tienes que proporcionar los privilegios requeridos para esto.
- Al proporcionar el privilegio
SUPER
, puede cambiar el valor de la variable de sistemahost_cache_size
. - Al otorgar el privilegio
DROP
, trunca la tablahost_cache
. Puede hacerlo utilizando la instrucciónTRUNCATE TABLE
. - Utilice
FLUSH HOSTS;
si está utilizandophpMyAdmin
. Necesita el privilegioRECARGAR
. - Al asignar el privilegio
RELOAD
, puede desbloquear conmysqladmin
flush-hosts enMySQL
. Ejecutemysqladmin flush-hosts;
declaración desde el símbolo del sistema/terminal. - También puede usar
mysqladmin -u nombre de usuario -p contraseña flush-hosts;
para borrar la tablahost_cache
. Reemplace elusername
y lacontraseña
con suusername
ycontraseña
.
Conclusión
Teniendo en cuenta las secciones anteriores, hemos concluido que el host está bloqueado si su host ha cambiado la IP. O tiene más errores de conexión en comparación con el número permitido de solicitudes de conexión fallidas.
Puede desbloquear el host vaciando su host_cache
utilizando mysqladmin flush-hosts
en MySQL y FLUSH HOSTS en phpMyAdmin
.