web-dev-qa-db-fra.com

comment exécuter la commande "mysqladmin flush-hosts" sur l'instance de serveur de base de données Amazon RDS?

J'ai un problème de serveur de base de données, indiquant que l'hôte est bloqué en raison de nombreuses erreurs de connexion. Il me demande de débloquer avec 'mysqladmin flush-hosts'

comment et où dois-je exécuter cette commande sur notre serveur de base de données Amazon rds?

je vous remercie

56
user955461

Je n'utilise pas RDS, mais avec mysql normal, connectez-vous simplement avec l'utilisateur 'root'. Puis émettre

FLUSH HOSTS;

requête SQL.

Même dans le cas de trop de connexions, mysql devrait garder une connexion en réserve afin qu'un utilisateur SUPER puisse se connecter (généralement root)

(mysqladmin sur la CLI se connecte généralement en tant que root et lance le sql ci-dessus :)

81
barryhunter

Connectez-vous à toute autre instance EC2 qui a accès à l’instance RDS en question et qui a installé et exécuté mysqladmin.

mysqladmin -h <RDS ENDPOINT URL> -P 3306 -u <USER> -p flush-hosts

on vous demandera votre mot de passe

28
Chris

Lorsqu'une instance Amazon RDS est bloquée parce que la valeur de max_connect_errors a été dépassée, vous ne pouvez pas utiliser l'hôte qui a généré les erreurs de connexion pour émettre les "hôtes de vidage". "commande, car le serveur MySQL exécuté sur l’instance bloque à ce stade les connexions de cet hôte.

Vous devez donc émettre la commande "flush hosts" à partir de d'une autre instance EC2 ou d'un serveur distant ayant accès à cette instance RDS.

mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts

Si cela impliquait le lancement d'une nouvelle instance ou la création/modification de groupes de sécurité pour permettre un accès externe, il serait peut-être plus rapide de simplement vous connecter à l'interface utilisateur RDS et de redémarrer l'instance RDS bloquée.

12
Garreth McDaid

J'ai corrigé cette erreur sur mon instance RDS en la redémarrant à partir de la console de gestion AWS. HTH

[modifier: lol votes négatifs]

9
Alex W

Depuis les hôtes est bloqué. essayez de le connecter depuis un autre hôte et exécutez la commande mysqladmin flush-hosts.

mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
5
Ryan

Sur Amazon RDS FLUSH HOSTS; peut être exécuté à partir de l'utilisateur par défaut ("Nom d'utilisateur principal" dans les informations RDS), et cela aide.

3
Atis Lezdins

Vous devrez connecter votre RDS via un ordinateur sur lequel, en tant que mysql installé, j'ai utilisé l'un de mes VPS d'hébergement avec SSH

Après avoir été connecté à mon VPS (j'ai utilisé PuTTY) C'était simple, dans l'invite, j'ai entré la commande suivante:

mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts
1
Ram m.

Vous pouvez redémarrer la base de données sur RDS Admin.

1
Scudelletti

Vous pouvez vider les hôtes locaux de MySQL en utilisant la commande suivante:

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

ou

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

Bien que le serveur de base de données Amazon RDS soit sur le réseau, utilisez la commande suivante de la manière suivante: vider le serveur MySQL du réseau:

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

En plus, vous pouvez résoudre définitivement le problème d’erreur de nombreuses connexions en modifiant le fichier my.ini [fichier de configuration Mysql].

changer les variables max_connections = 10000;

ou

connectez-vous à MySQL en 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;

cochez veritable en utilisant command-

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