Débloquer avec Mysqladmin Flush Hosts dans MySQL
- Raisons du blocage d’un hôte
- Comment gérer les hôtes bloqués
-
Effets du vidage de la table
host_cache
- Différentes façons de vider les hôtes
- Conclusion
Dans ce tutoriel, nous allons découvrir les raisons du blocage d’un hôte. Nous verrons aussi comment débloquer avec mysqladmin flush-hosts;
dans MySQL
.
Ensuite, nous trouverons les différentes méthodes pour vider le host_cache
pour une connexion réussie. Après cela, nous verrons également les effets du vidage de la table host_cache
.
Raisons du blocage d’un hôte
L’une des raisons suivantes peut bloquer votre hôte (host_name
).
- Un hôte,
host_name
est bloqué lorsque l’un de vos hôtes a changé l’adresseIP
. - Host,
host_name
est bloqué en raison de nombreuses erreurs de connexion. Cela signifie quemysqld
a reçu de nombreuses demandes de connexion interrompues.
Comment gérer les hôtes bloqués
Le host_cache
contient HOST
, IP
, SUM_CONNECT_ERRORS
et d’autres détails nécessaires.
Host cache est utilisé pour suivre les erreurs de connexion. Le serveur MySQL
utilise host_cache
pour suivre les erreurs lors du processus de connexion du client.
Supposons que vous ayez l’erreur suivante lors de l’établissement d’une connexion. Ensuite, cela signifie que mysqld
a reçu de nombreuses demandes de connexion interrompues au milieu.
Maintenant, il ne vous permet pas de vous reconnecter.
Host 'host_name' is blocked because of many connection errors.
Unblock with mysqladmin flush-hosts
La variable système max_connect_errors
détermine le nombre de demandes de connexion interrompues.
Si le nombre de demandes de connexion interrompues dépasse le nombre autorisé, votre hébergeur est bloqué. Et ne peut pas envoyer la demande de connexion supplémentaire tant que vous n’avez pas vidé la table hosts_cache
.
C’est parce que mysqld
suppose que quelqu’un essaie de s’introduire ou que quelque chose ne va pas. Dans cette situation, vous ne pouvez pas envoyer la demande de connexion tant que vous n’avez pas effacé la table host-cache
.
Vous pouvez utiliser mysqladmin flush-hosts;
à partir d’une invite de commande/terminal. Vous pouvez également utiliser l’instruction FLUSH HOSTS;
dans phpMyAdmin
.
Effets du vidage de la table host_cache
Vous pouvez avoir un ou plusieurs effets si vous débloquez l’hôte en vidant host_cache
. Ces effets sont énumérés ci-dessous.
- Le
host_cache
en mémoire serait effacé. - Débloque l’hôte qui était précédemment bloqué.
- Toutes les lignes de
host_cache
seraient supprimées.
Différentes façons de vider les hôtes
Ce sont les différentes méthodes que vous pouvez utiliser pour vider les hôtes. Vous devez fournir les privilèges requis pour cela.
- En fournissant le privilège
SUPER
, vous pouvez modifier la valeur de la variable systèmehost_cache_size
. - En donnant le privilège
DROP
, tronquer la tablehost_cache
. Vous pouvez le faire en utilisant l’instructionTRUNCATE TABLE
. - Utilisez
FLUSH HOSTS;
si vous utilisezphpMyAdmin
. Il a besoin du privilègeRELOAD
. - En attribuant le privilège
RELOAD
, vous pouvez débloquer avecmysqladmin
les flush-hosts dansMySQL
. Exécutezmysqladmin flush-hosts;
déclaration à partir de l’invite de commande/du terminal. - Vous pouvez également utiliser
mysqladmin -u username -p password flush-hosts;
pour vider la tablehost_cache
. Remplacez leusername
et lepassword
par votreusername
et votrepassword
.
Conclusion
Compte tenu des sections ci-dessus, nous avons conclu que l’hôte est bloqué si votre hôte a changé d’adresse IP. Ou vous avez plus d’erreurs de connexion par rapport au nombre autorisé de demandes de connexion ayant échoué.
Vous pouvez débloquer l’hôte en vidant votre host_cache
en utilisant mysqladmin flush-hosts
dans MySQL et FLUSH HOSTS dans phpMyAdmin
.