Neste ponto, pode ser necessário executar o FLUSH HOSTS e ver se isso desbloqueia.
A documentação do MySQL diz isso sobre os FLOSH HOSTS:
- Esvazia as tabelas de cache do host. Você deve liberar as tabelas de host se alguns de seus hosts alterarem o endereço IP ou se receber a mensagem de erro Host 'host_name' está bloqueado. Quando mais de max_connect_errors erros ocorrem sucessivamente para um determinado host durante a conexão com o servidor MySQL, o MySQL assume que algo está errado e bloqueia o host de outras solicitações de conexão. Liberar as tabelas do host permite novas tentativas de conexão do host. Consulte a Seção C.5.2.6, “Host 'host_name' está bloqueado”. Você pode iniciar o mysqld com --max_connect_errors = 999999999 para evitar esta mensagem de erro.
Por que um host deve ser bloqueado para começar?
De acordo com a documentação do MySQL :
Se você receber o seguinte erro, significa que o mysqld recebeu muitas solicitações de conexão do host 'host_name' que foram interrompidas no meio: O host 'host_name' está bloqueado devido a muitos erros de conexão. Desbloquear com 'mysqladmin flush-hosts' O número de solicitações de conexão interrompidas permitidas é determinado pelo valor da variável de sistema max_connect_errors. Depois que max_connect_errors falha as solicitações, o mysqld assume que algo está errado (por exemplo, alguém está tentando invadir) e bloqueia o host de outras conexões até você executar um comando mysqladmin flush-hosts ou emitir uma instrução FLUSH HOSTS. Consulte a Seção 5.1.3, “Variáveis do sistema do servidor”.
Por padrão, o mysqld bloqueia um host após 10 erros de conexão. Você pode ajustar o valor iniciando o servidor assim:
shell> mysqld_safe --max_connect_errors=10000 &
Se você receber esta mensagem de erro para um determinado host, verifique primeiro se não há nada de errado com as conexões TCP / IP desse host. Se você está tendo problemas de rede, não adianta aumentar o valor da variável max_connect_errors.