Mysql

如何刷新mysql遠端主機記憶體?

  • May 6, 2018

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/

在這種設置中刷新遠端記憶體的直接方法是什麼?

您必須從尚未被阻止的機器上執行該命令。它不需要是本地機器(無論如何,這在 RDS 中是不可能的)。該mysqladmin實用程序只不過是一個簡單的實用程序,它使用普通客戶端連接連接到伺服器並發出命令,通常作為查詢,但有時作為低級協議操作碼 - 但在每種情況下,它都使用普通連接,所以它不是免疫被阻擋。

重新啟動伺服器實例是一種可以在緊急情況下使用的解決方案,儘管這通常會保留為最後的努力。

阻止是由客戶端超過max_connect_errors門檻值觸發的。您可以考慮在 RDS 參數組中增加此門檻值,但這很少有必要,因為超過門檻值通常表示某些事情已經出現相當嚴重的錯誤並且需要進行調查。這是一種保護性控制,允許伺服器快速關閉似乎損壞或惡意的客戶端電腦,從而允許伺服器花費最少的資源來處理行為不端的客戶端。使用簡單/樸素的 TCP 連接嘗試(實際上並未嘗試進行身份驗證)對 MySQL 伺服器進行健康檢查也會觸發這種情況,因為客戶端在連接建立後實際上並沒有經歷預期的握手序列。

對於每個成功的連接,給定主機的計數器應將自身設置回 0,因此在正常情況下,很少會超過門檻值。

引用自:https://serverfault.com/questions/910922