如何在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";