web-dev-qa-db-ja.com

Amazon RDSデータベースサーバーインスタンスでコマンド「mysqladmin flush-hosts」を実行する方法

データベースサーバーに障害が発生しました。多くの接続エラーが原因でホストがブロックされています。 「mysqladmin flush-hosts」でブロックを解除するように求められます

amazon rdsデータベースサーバーに対してこのコマンドをどのように、どこで実行する必要がありますか?

ありがとうございました

56
user955461

私はRDSを使用しませんが、通常のmysqlでは「root」ユーザーに接続するだけです。次に発行

FLUSH HOSTS;

sQLクエリ。

接続が多すぎる場合でも、mysqlはスーパーユーザーが接続できるように接続を予約しておく必要があります(通常はルート)

(通常、CLIのmysqladminは単にルートとして接続し、上記のsqlを発行します。)

81
barryhunter

問題のRDSインスタンスにアクセスでき、mysqladminがインストールおよび実行されている他のEC2インスタンスにログインします

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

パスワードの入力を求められます

28
Chris

Max_connect_errorsの値を超えたためにAmazon RDSインスタンスがブロックされた場合、cannotインスタンスで実行されているMySQLサーバーとして、接続エラーを生成したホストを使用して「ホストをフラッシュ」コマンドを発行しますその時点でそのホストからの接続をブロックしています。

そのため、another EC2インスタンスまたはそのRDSインスタンスにアクセスできるリモートサーバーから「flush hosts」コマンドを発行する必要があります。

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

これに新しいインスタンスの起動、または外部アクセスを許可するセキュリティグループの作成/変更が含まれる場合、単にRDSユーザーインターフェイスにログインして、ブロックされているRDSインスタンスを再起動する方が簡単です。

12
Garreth McDaid

AWS管理コンソールから再起動して、RDSインスタンスのこのエラーを修正しました。 HTH

[編集:笑downvotes]

9
Alex W

ホストがブロックされているため。他のホストから接続して、mysqladmin flush-hostsコマンドを実行してください。

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

Amazon RDSでは、FLUSH HOSTS;をデフォルトのユーザー(RDS情報の「マスターユーザー名」)から実行できます。これは役立ちます。

3
Atis Lezdins

Mysqlがインストールされているため、SSHを使用してホスティングVPSの1つを使用したコンピューターを介してRDSを接続する必要があります。

VPSにログインした後(私はPuTTYを使用しました)、プロンプトで次のコマンドを入力しました:

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

RDS Adminでデータベースを再起動できます。

1
Scudelletti

次のコマンドを使用して、ホストのローカルMySQLをフラッシュできます。

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

または

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

Amazon RDSデータベースサーバーはネットワーク上にありますが、フラッシュネットワークMySQLサーバーのように次のコマンドを使用します:

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 

追加の提案では、my.iniファイル[Mysql構成ファイル]を編集することにより、多くの接続エラーのブロックの問題を永続的に解決できます。

変数の変更max_connections = 10000;

または

コマンドラインを使用してMySQLにログインします-

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

以下のコマンドをMySQLウィンドウに配置します

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

コマンドを使用して真正を確認します

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