遠端連線伺服器資料庫報錯:Host ‘XXXXXX’ is blocked because of many connection errors
阿新 • • 發佈:2019-01-11
一、我遇到的問題描述
使用Navicat for mysql連線公司的伺服器資料庫,報錯:Host ‘XXXXXX’ is blocked because of many connection errors
二、出現錯誤原因
同意ip在短時間內產生太多(超過mysql資料庫max_connection_errors的最大值)終端的資料庫連線而導致的阻塞;
三、解決方案(根據實際情況來選擇解決方案):
1、可以更改max_connection_errors的值,即提高允許的max_connection_errors的數量
(1)首先檢視該屬性設定為多大:命令:show global variables like '%max_connect_errors%';
(2)然後修改該屬性
(3)再次檢視
(4)如果需要永久解決問題
如果需要永久生效,得去修改mysql配置檔案裡相應屬性。可能配置檔案裡沒有這個屬性,需要自己手動新增
(5)注意:
當客戶端連線服務端超時(超過connect_timeout), 服務端就會給這個客戶端記錄一次error,當出錯的次數達到max_connect_errors的時候,這個客戶端就會被鎖定。所以根據業務來儘量把這個值設定大一點,mysql預設值為10,我們可以根據具體需要設定大一點,這裡設定為1000.(並非越大越好,越大被攻擊時安全性越低)
2、使用清楚快取的方法,這樣就會把計數清理掉,
3、換一臺電腦,登入資料庫,執行:flush hosts;