it-swarm.it

Qual è il motivo per cui Host 'Nome_host' è bloccato in MySQL?

Quando utilizzo una password errata per connettermi al server mysql e il conteggio dei test è finito su max_connect_errors e trovo il Aborted_connects viene generato anche come test che conto, ma l'host non è ancora bloccato.

Anche il Aborted_connects sopra il max_connect_errors allora Host_name è bloccato?

12
user3157

A questo punto, potresti dover eseguire FLUSH HOSTS e vedere se questo si sblocca.

La documentazione di MySQL dice questo su FLUSH HOSTS:

  • Svuota le tabelle della cache dell'host. È necessario svuotare le tabelle Host se alcuni host cambiano l'indirizzo IP o se viene visualizzato il messaggio di errore Host 'Nome_host' è bloccato. Quando si verificano più errori max_connect_errors in successione per un determinato host durante la connessione al server MySQL, MySQL presuppone che qualcosa non vada e blocca l'host da ulteriori richieste di connessione. Lo svuotamento delle tabelle dell'host consente ulteriori tentativi di connessione dall'host. Vedere la sezione C.5.2.6, "L'host 'Nome_host' è bloccato". È possibile avviare mysqld con --max_connect_errors = 999999999 per evitare questo messaggio di errore.

Perché un host dovrebbe essere bloccato per cominciare ??

Secondo Documentazione MySQL :

Se viene visualizzato il seguente errore, significa che mysqld ha ricevuto molte richieste di connessione dall'host "Nome_host" che sono state interrotte nel mezzo: L'host "Nome_host" è bloccato a causa di numerosi errori di connessione. Sblocca con 'mysqladmin flush-hosts' Il numero di richieste di connessione interrotte consentite è determinato dal valore della variabile di sistema max_connect_errors. Dopo che max_connect_errors ha fallito le richieste, mysqld presume che qualcosa non vada (per esempio, che qualcuno stia tentando di entrare) e blocca l'host da ulteriori connessioni fino a quando non si esegue un comando mysqladmin flush-hosts o si emette un'istruzione FLUSH HOSTS. Vedere la Sezione 5.1.3, "Variabili di sistema del server".

Per impostazione predefinita, mysqld blocca un host dopo 10 errori di connessione. È possibile regolare il valore avviando il server in questo modo:

Shell> mysqld_safe --max_connect_errors=10000 &

Se ricevi questo messaggio di errore per un determinato host, devi prima verificare che non ci sia nulla di sbagliato nelle connessioni TCP/IP di quell'host. Se si verificano problemi di rete, non è utile aumentare il valore della variabile max_connect_errors.

8
RolandoMySQLDBA

Una causa di un tale blocco è quando una persona a caso sull'host decide di eseguire un certo monitoraggio di MySQL e imposta un telnet sulla porta MySQL sul server remoto. Con un numero sufficiente di invocazioni telnet, l'host viene quindi bloccato da un ulteriore accesso a quel server MySQL. A differenza di alcuni server, MySQL non sblocca automaticamente l'accesso dopo un ragionevole lasso di tempo: l'amministratore del server deve battere MySQL in testa.

1
Richard