我的数据库服务器出现故障,主机因许多连接错误而被阻止。它要求我用'mysqladmin flush-hosts'取消阻止
我应该如何以及在何处将此命令运行到我们的amazon rds数据库服务器?
谢谢
答案 0 :(得分:79)
我不使用RDS,但使用普通的mysql,只需连接'root'用户即可。然后发出
FLUSH HOSTS;
sql查询。
即使在连接太多的情况下,mysql也应保留连接,以便SUPER用户可以连接(通常是root)
(CLI上的mysqladmin通常只是以root身份连接,并发出上面的sql:)
答案 1 :(得分:27)
登录您有权访问相关RDS实例的任何其他EC2实例,并安装并运行mysqladmin
mysqladmin -h <RDS ENDPOINT URL> -P 3306 -u <USER> -p flush-hosts
系统会提示您输入密码
答案 2 :(得分:12)
当因为超出了max_connect_errors的值而阻止了Amazon RDS实例时,无法使用生成连接错误的主机来发出&#34; flush hosts&#34;命令,因为在该实例上运行的MySQL服务器阻止来自该主机的连接。
因此,您需要发出&#34; flush主机&#34;来自另一个 EC2实例或有权访问该RDS实例的远程服务器的命令。
mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts
如果这涉及启动新实例,或创建/修改安全组以允许外部访问,则可以更快地简单地登录RDS用户界面并重新启动被阻止的RDS实例。
答案 3 :(得分:9)
我通过从AWS管理控制台重新启动它来修复我的RDS实例上的此错误。 HTH
[编辑:lol downvotes]
答案 4 :(得分:5)
由于主机被阻止。尝试从其他主机连接并执行mysqladmin flush-hosts命令。
mysqladmin -h <RDS ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
答案 5 :(得分:3)
在Amazon RDS上FLUSH HOSTS;
可以从默认用户(RDS信息中的“主用户名”)执行,这会有所帮助。
答案 6 :(得分:1)
您必须通过安装了mysql的计算机连接RDS 我使用SSH托管VPS之一
在我登录我的VPS后(我使用了putty)很简单,在提示符中我输入了以下命令:
mysqladmin -h [YOUR RDS END POINT URL] -P 3306 -u [DB USER] -p flush-hosts
答案 7 :(得分:1)
您可以在RDS Admin上重新启动数据库。
答案 8 :(得分:-1)
您可以使用以下命令刷新主机本地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;
使用command-
检查veritableshow variables like "max_connections";
show variables like "max_connect_errors";