58

我遇到了数据库服务器故障,说主机由于许多连接错误而被阻止。它要求我使用“mysqladmin flush-hosts”解除阻止

我应该如何以及在哪里运行这个命令到我们的 amazon rds 数据库服务器?

谢谢你

4

10 回答 10

83

对于普通 MySQL,只需以“root”管理超级用户身份连接,然后发出命令:

FLUSH HOSTS

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

客户端通常以mysqladminroot 身份连接并发出上述 SQL。

于 2011-11-05T00:44:01.947 回答
30

登录到您拥有的可以访问相关 RDS 实例并安装并运行 mysqladmin 的任何其他 EC2 实例

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

系统将提示您输入密码

于 2013-03-12T17:24:02.280 回答
15

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

因此,您需要从另一个EC2 实例或有权访问该 RDS 实例的远程服务器发出“刷新主机”命令。

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

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

于 2014-03-18T13:41:36.967 回答
11

我通过从 AWS 管理控制台重新启动 RDS 实例来修复此错误。高温高压

[编辑:大声笑反对]

于 2012-10-11T21:12:01.047 回答
5

在 Amazon RDSFLUSH HOSTS;上,可以从默认用户(RDS 信息中的“主用户名”)执行,这很有帮助。

于 2012-06-11T17:51:01.933 回答
5

由于主机被阻止。尝试从其他主机连接它并执行 mysqladmin flush-hosts 命令。

mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
于 2013-08-28T01:08:37.890 回答
2

您必须通过一台安装了 mysql 的计算机连接您的 RDS 我使用我的一个托管 VPS 使用 SSH

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

mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts
于 2012-10-09T08:51:12.663 回答
1

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

于 2014-01-15T18:19:43.680 回答
0

您可以使用以下命令刷新主机本地 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";
于 2016-01-18T08:55:32.577 回答
-1

今天在客户 rds 上使用 Heidi Sql 客户端时遇到此错误。

我们只是在 ec2 上使用 'mysqlroot' 与有问题的 rds 对话以进行连接,然后发出 'flush hosts;' 命令。

于 2021-09-23T23:08:42.083 回答