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

我得到一个数据库服务器故障,说主机被阻塞,因为很多连接错误。 它要求我用“mysqladmin flush-hosts”

如何和在哪里应该运行这个命令到我们的亚马逊rds数据库服务器?

谢谢

我不使用RDS,但与普通的MySQL,只需连接到“root”用户。 然后问题

FLUSH HOSTS; 

sql查询。

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

(CLI上的mysqladmin通常只是作为根连接,并发出上述的SQL 🙂

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

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

系统会提示您input密码

当Amazon 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 

如果这涉及启动一个新的实例,或者创build/修改安全组以允许外部访问,那么简单地login到RDS用户界面并重新启动被阻止的RDS实例可能会更快。

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

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

我通过从AWSpipe理控制台重新启动,在我的RDS实例上修复了这个错误。 HTH

[编辑:lol downvotes]

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

你将不得不通过一台计算机连接你的RDS,在它上面安装了mysql,我使用了一个使用SSH的托pipeVPS

在我login后,我的VPS(我用腻子)很简单,在提示我input以下命令:

 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数据库服务器在networking上,但是使用以下命令就像刷新networkingMySQL服务器一样:

 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 

在额外的build议你可以通过编辑my.ini文件[Mysqlconfiguration文件]永久解决多个连接的阻塞错误问题

更改variablesmax_connections = 10000;

要么

使用命令行login到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";