如何刷新 mysql 远程主机缓存?

如何刷新 mysql 远程主机缓存?

mysql 实例是第三方 Heroku 插件:JawsDB。

主持人:

s554ongw9quh1xjs.cbetxkdyhwsb.us-east-1.rds.amazonaws.com

命令:

mysqladmin -h s554ongw9quh1xjs.cbetxkdyhwsb.us-east-1.rds.amazonaws.com -P 3306 -u username -p flush-hosts

Mysql 服务器错误:

Host '65.130.48.40' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'.

来源

https://chartio.com/resources/tutorials/how-to-run-mysqladmin-flush-hosts-on-amazon-rds/

在这种设置中,刷新远程缓存的直接方法是什么?

答案1

您必须从尚未被阻止的计算机运行该命令。它不必是本地计算机(无论如何,从 RDS 中这是不可能的)。该mysqladmin实用程序只不过是一个简单的实用程序,它使用普通客户端连接连接到服务器并发出命令,通常是查询,但有时是低级协议操作码——但在每种情况下,它都使用正常连接,因此它不能免于被阻止。

重新启动服务器实例是一种可以在紧急情况下使用的解决方案,尽管这通常会作为最后的努力。

客户端越过max_connect_errors阈值。您可以考虑在 RDS 参数组中增加此阈值,但这很少是必要的,因为超过阈值通常表示出现了相当严重的错误,需要进行调查。这是一种保护性控制,允许服务器快速关闭似乎损坏或恶意的客户端计算机,从而允许服务器花费最少的资源来处理行为不当的客户端。使用简单/天真的 TCP 连接尝试(实际上不尝试进行身份验证)对 MySQL 服务器进行健康检查也会触发这种情况,因为客户端在建立连接后实际上不会经历预期的握手序列。

对于每次成功的连接,给定主机的计数器都应将自身设置回 0,因此在正常情况下,超过阈值的情况很少见。

相关内容