“如何运行命令”;mysqladmin刷新主机”;在Amazon RDS数据库服务器实例上?

“如何运行命令”;mysqladmin刷新主机”;在Amazon RDS数据库服务器实例上?,mysql,amazon-rds,Mysql,Amazon Rds,我得到一个数据库服务器故障,说主机被封锁,因为许多连接错误。它要求我使用“mysqladmin刷新主机”解除阻止 我应该如何以及在何处对amazon rds数据库服务器运行此命令 感谢您使用普通MySQL,只需以“root”管理超级用户身份连接,然后发出以下命令: FLUSH HOSTS 即使在连接太多的情况下,MySQL也应该保留一个连接,以便超级用户可以连接 mysqladmin客户端通常以root用户身份连接,并在Amazon RDSFLUSH主机上发出上述SQL可以从默认用户(“RDS

我得到一个数据库服务器故障,说主机被封锁,因为许多连接错误。它要求我使用“mysqladmin刷新主机”解除阻止

我应该如何以及在何处对amazon rds数据库服务器运行此命令


感谢您使用普通MySQL,只需以“root”管理超级用户身份连接,然后发出以下命令:

FLUSH HOSTS
即使在连接太多的情况下,MySQL也应该保留一个连接,以便超级用户可以连接


mysqladmin
客户端通常以root用户身份连接,并在Amazon RDS
FLUSH主机上发出上述SQL
可以从默认用户(“RDS信息”中的“主用户名”)执行,这很有帮助。

您必须通过安装了mysql的计算机连接RDS 我使用了一个使用SSH的主机VP

登录VPS后(我使用putty),很简单,在提示符下输入以下命令:

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

我通过从AWS管理控制台重新启动RDS实例,修复了RDS实例上的此错误。嗯


[编辑:lol DOWNDOVERS]

登录到您拥有的任何其他EC2实例,该实例可以访问正在讨论的RDS实例,并且已安装并运行mysqladmin

mysqladmin -h <RDS ENDPOINT URL> -P 3306 -u <USER> -p flush-hosts
mysqladmin-h-p3306-u-P刷新主机

由于主机被阻止,系统将提示您输入密码。尝试从其他主机连接它并执行mysqladmin flush hosts命令

mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
mysqladmin-h-P-u-P刷新主机

您可以在RDS Admin上重新启动数据库。

当亚马逊RDS实例因超过max_connect_errors的值而被阻止时,您不能使用生成连接错误的主机发出“flush hosts”命令,因为在实例上运行的MySQL服务器此时正在阻止来自该主机的连接

因此,您需要从另一个EC2实例或可以访问该RDS实例的远程服务器发出“flush hosts”命令

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

如果这涉及启动新实例,或创建/修改安全组以允许外部访问,则只需登录到RDS用户界面并重新启动被阻止的RDS实例可能会更快。

您可以使用以下命令刷新主机本地MySQL:

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

虽然Amazon RDS数据库服务器在网络上,但使用以下命令与flush network MySQL server类似:

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 
将下面的命令放入MySQL窗口

SET GLOBAL max_connect_errors=10000;
set global max_connections = 200;
使用命令-

show variables like "max_connections";
show variables like "max_connect_errors";

利特汉克斯,这正是我需要的:一点背景。fwiw mysqladmin也将与RDS一起使用(只要您使用的是具有权限的用户(即root用户),我没有)。这是一个很好的答案,但不适用于AWS。为什么不呢?你不能在AWS上运行FLUSH主机吗?这对我来说很好,但要考虑到在RDS中,管理员用户很少被称为
root
。创建实例时,系统会要求您输入帐户名,该帐户是管理员帐户。除此之外,我还运行了以下操作以确保任何损坏都得到了处理:
mysqlcheck--auto repair--all databases-h HOST-u USER-p
它不必来自任何EC2实例。它也可以在本地机器上完成。mysql的安装位置。从beanstalk EC2实例到RDS mysql主机都不起作用。使用mysqladmin命令连接到主机会产生错误:mysqladmin:connect to server at'challengefinder rds.crstas8123.us-west-1.rds.amazonaws.com'失败错误:'host'ip-10-170-12-12.us-west-1.compute.internal'由于许多连接错误而被阻止;使用“mysqladmin flush hosts”解除阻止您可以使用另一台计算机-只需将您的IP地址添加到该RDS实例的安全组,然后您就可以从工作站使用mysqladmin。重新启动该实例对我来说是最简单的。在RDS上,无法在本地运行任何命令,因为您无法登录到数据库主机。通过网络也不起作用,因为出于同样的原因,mysqladmin也无法连接。(“错误:'Host'your.client.ip.address'由于许多连接错误而被阻止”)您可以重新启动rds服务器(如果需要,也可以拍摄快照),然后问题将得到解决。非常感谢。我尝试了上面的解决方案,但由于同样的错误,我也无法使用mysqladmin登录!