日志中出現
錯誤:
Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
原因:
同一個ip在短時間內產生太多(超過mysql數據庫max_connection_errors的最大值)中斷的數據庫連接而導致的阻塞;
解決方法
提高允許的max_connection_errors數量
進入Mysql數據庫查看max_connection_errors:
show variables like '%max_connection_errors%';
- 1
修改max_connection_errors的數量為1000
set global max_connect_errors = 1000;
- 1
或者直接進入my.cnf中配置
在[mysqld]下面添加
max_connect_errors = 1000
- 1
然后重啟mysql
之后可以檢查此參數是否生效
重置錯誤記錄數
- 進入數據庫,執行命令
mysql> flush-hosts;
- 1
即可清除緩存,但是max_connect_errors的值是不會變大的,如果沒有設置過此參數的話,一般默認max_connect_errors = 10,可以把參數設置的大一點,避免被鎖。
配置有master/slave主從數據庫的要把主庫和從庫都修改一遍。
