mysql 連接出錯 'mysqladmin flush-hosts'


日志中出現

錯誤:
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 
之后可以檢查此參數是否生效

重置錯誤記錄數

  1. 進入數據庫,執行命令
mysql> flush-hosts;
  • 1

即可清除緩存,但是max_connect_errors的值是不會變大的,如果沒有設置過此參數的話,一般默認max_connect_errors = 10,可以把參數設置的大一點,避免被鎖。 
配置有master/slave主從數據庫的要把主庫和從庫都修改一遍。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM