如何在Amazon RDS数据库服务器实例上运行命令"mysqladmin flush-hosts"?

use*_*461 56 mysql amazon-rds

我的数据库服务器出现故障,主机因许多连接错误而被阻止.它要求我用'mysqladmin flush-hosts'取消阻止

如何以及在何处将此命令运行到我们的amazon rds数据库服务器?

谢谢

bar*_*ter 81

我不使用RDS,但使用普通的mysql,只需连接'root'用户即可.然后发出

FLUSH HOSTS;
Run Code Online (Sandbox Code Playgroud)

SQL查询.

即使在连接太多的情况下,mysql也应保留连接,以便SUPER用户可以连接(通常是root)

(CLI上的mysqladmin通常只是以root身份连接,并发出上面的sql :)

  • 谢谢,这正是我所需要的:一个小环境.fwiw mysqladmin也将使用RDS(只要你使用有权限的用户(即root) - 我不是). (3认同)
  • 这对我很有用,但是考虑到在RDS中管理员用户很少被称为"root".创建实例时,系统会要求您输入帐户名称,该帐户是管理员帐户. (2认同)

小智 28

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

mysqladmin -h <RDS ENDPOINT URL> -P 3306 -u <USER> -p flush-hosts
Run Code Online (Sandbox Code Playgroud)

系统将提示您输入密码

  • 这不适用于beanstalk EC2实例到RDS mysql主机.使用mysqladmin命令连接到主机会产生错误:mysqladmin:连接到服务器'challengefinder-rds.crstas8123.us-west-1.rds.amazonaws.com'失败错误:'主机'ip-10-170-由于许多连接错误,12-12.us- west-1.compute.internal'被阻止; 使用'mysqladmin flush-hosts'解锁 (3认同)

Gar*_*aid 13

当因为已超过max_connect_errors的值而阻止Amazon RDS实例时,您无法使用生成连接错误的主机来发出"flush hosts"命令,因为在该实例上运行的MySQL Server阻止了来自主持人.

因此,您需要从另一个有权访问该RDS实例的E​​C2实例或远程服务器发出"flush hosts"命令.

mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts
Run Code Online (Sandbox Code Playgroud)

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

  • 重新启动实例对我来说是最简单的。 (2认同)

Ale*_*x W 9

我通过从AWS管理控制台重新启动它来修复我的RDS实例上的此错误.HTH

[编辑:lol downvotes]


小智 5

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


Rya*_*yan 5

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

mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
Run Code Online (Sandbox Code Playgroud)