我遇到了数据库服务器故障,说主机由于许多连接错误而被阻止。它要求我使用“mysqladmin flush-hosts”解除阻止
我应该如何以及在哪里运行这个命令到我们的 amazon rds 数据库服务器?
谢谢你
我遇到了数据库服务器故障,说主机由于许多连接错误而被阻止。它要求我使用“mysqladmin flush-hosts”解除阻止
我应该如何以及在哪里运行这个命令到我们的 amazon rds 数据库服务器?
谢谢你
对于普通 MySQL,只需以“root”管理超级用户身份连接,然后发出命令:
FLUSH HOSTS
即使在连接过多的情况下,MySQL 也应该保留一个连接,以便超级用户可以连接。
客户端通常以mysqladmin
root 身份连接并发出上述 SQL。
登录到您拥有的可以访问相关 RDS 实例并安装并运行 mysqladmin 的任何其他 EC2 实例
mysqladmin -h <RDS ENDPOINT URL> -P 3306 -u <USER> -p flush-hosts
系统将提示您输入密码
当 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 实例可能会更快。
我通过从 AWS 管理控制台重新启动 RDS 实例来修复此错误。高温高压
[编辑:大声笑反对]
在 Amazon RDSFLUSH HOSTS;
上,可以从默认用户(RDS 信息中的“主用户名”)执行,这很有帮助。
由于主机被阻止。尝试从其他主机连接它并执行 mysqladmin flush-hosts 命令。
mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
您必须通过一台安装了 mysql 的计算机连接您的 RDS 我使用我的一个托管 VPS 使用 SSH
在我登录我的 VPS 后(我使用 putty)这很简单,在提示符中我输入了以下命令:
mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts
您可以在 RDS Admin 上重新启动数据库。
您可以使用以下命令刷新主机本地 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";
今天在客户 rds 上使用 Heidi Sql 客户端时遇到此错误。
我们只是在 ec2 上使用 'mysqlroot' 与有问题的 rds 对话以进行连接,然后发出 'flush hosts;' 命令。