web-dev-qa-db-fra.com

Pourquoi la connexion MySQL est bloquée de nombreuses erreurs de connexion?

Comme vous pouvez le voir, j'ai un problème avec une connexion à une base de données. Cela me donne cette erreur:

... est bloqué en raison de nombreuses erreurs de connexion

J'ai cherché quelques réponses mais je n'ai pas pu résoudre mon problème.

Je ne sais pas si j'ai donné toutes les informations dont vous avez besoin, donc si vous avez besoin d'autre chose, dites-le moi. J'ai une connexion à la base de données à partir de différents ordinateurs et un utilisateur a été créé pour accéder à la base de données, mais il avait % dans la ligne des hôtes, je voulais donc le changer avec une adresse IP pour des problèmes de sécurité et cela m'a donné cette erreur alors maintenant je suis bloqué.

17
Nick

MySQL bloque les clients qui ont fait une erreur lors de la connexion pour protéger MySQL des clients mal formés.

Donc, tout d'abord, vous devez trouver quel type d'erreur est ....

Vous pouvez vérifier le journal des erreurs MySQL dans le répertoire de données. (généralement hostname.err )

Ou, vous pouvez augmenter max_connect_errors (quelle est la valeur actuelle?) la valeur maximale dépend de l'architecture. sur 32 bits, 4294967295. 18446744073709547520 pour 64 bits. ( Manuel )

mysql> SET GLOBAL max_connect_errors = 100000000;

Mais ce n'est pas une vraie solution si une erreur se produit fréquemment.

FLUSH HOSTS peut vous aider à éliminer l'hôte bloqué dès maintenant.

mysql> FLUSH HOSTS;

Si vous souhaitez exécuter à partir de l'extérieur de la console mysql, utilisez la commande mysqladmin:

# mysqladmin flush-hosts
27
Jason Heo

La première vidange héberge MySQL local en utilisant la commande suivante:

mysqladmin -u [username] -p flush-hosts
**** [MySQL password]

ou

mysqladmin flush-hosts -u [username] -p
**** [MySQL password]

serveur MySQL réseau:

mysqladmin -h <ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
mysqladmin -h [END POINT URL] -P 3306 -u [DB USER] -p flush-hosts 

Dans une suggestion supplémentaire, vous pouvez résoudre définitivement le problème d'erreur de blocage de nombreuses connexions en modifiant le fichier my.ini [fichier de configuration Mysql]

changer les variables max_connections = 10000;

ou

connectez-vous à MySQL en utilisant la ligne de commande -

mysql -u [username] -p
**** [MySQL password]

mettre la commande ci-dessous dans la fenêtre MySQL

SET GLOBAL max_connect_errors=10000;
set global max_connections = 200;

vérifier véritablement en utilisant command-

show variables like "max_connections";
show variables like "max_connect_errors";
2
Syeful Islam