mysql 鏈接出錯 'mysqladmin flush-hosts'

本文章 轉載於:
http://blog.itechol.com/space-33-do-blog-id-5670.html 
 
求助QQ:499628121  
環境說明:
 
內網測試服務器192.168.18.251 爲WEB服務器,安裝了mysql; 內網音視頻轉碼服務器192.168.18.253安裝了轉碼工具,其上/www/attachment掛載到WEB 的/webdev/attachment上實現對WEB上音視頻文件的轉碼處理,某日發現轉碼不能成功,在轉碼服務器上手動執行轉碼腳本文件後報錯,詳細信息以下:
 
錯誤大致是這樣:
ERROR 1129 (00000): Host 'XXXXXX' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

        

查了下資料 --說明mysqld已經獲得了大量(max_connect_errors)的主機'hostname'的在中途被中斷了的鏈接請求。在 max_connect_errors次失敗請求後,mysqld認定出錯了(象來自一個黑客的攻擊),而且阻止該站點進一步的鏈接,直到某人執行命令 mysqladmin flush-hosts。

缺省地,mysqld在10個鏈接錯誤後阻塞一臺主機。你能夠經過象這樣啓動服務器很容易地調整它: set global max_connect_errors=1000;
注意,對給定的主機,若是獲得這條錯誤消息,你應該首先檢查該主機的TCP/IP鏈接有沒有問題。若是你的TCP/IP鏈接不在運行,增長max_connect_errors變量的值對你也不會有幫助! 
 
××××××××××××××××××××××××××××××××××××××××××××××××××××××××
另外一篇相關介紹:
 

Mysql報錯 mysqladmin flush-hosts
2011-11-26


Tomcat 報出以下錯誤: 
java.sql.SQLException: null,  message server: "Host ""*****"" is blocked because of many connection errors; unblock with ""mysqladmin flush-hosts""" 

解決辦法: 
 mysqladmin     flush-hosts 

緣由: 
mysql中默認的max_connect_errors是10,由於鏈接失誤,形成這個數值高於10,當在接受鏈接的時侯就被鎖住了, 並阻止主機的進一步鏈接請求。 

能夠將這個值改的稍微高一些。 
shell> mysqld_safe --max_connect_errors=10000 
 
注意,對給定的主機,若是獲得這條錯誤消息,你應該首先檢查該主機的TCP/IP鏈接有沒有問題。若是你的TCP/IP鏈接不在運行,增長max_connect_errors變量的值對你也不會有幫助!  

=========================================
附:Max_connect errors說明

max_connect_errors是一個MySQL中與安全有關的計數器值,它負責阻止過多嘗試失敗的客戶端以防止暴力破解密碼的狀況。max_connect_errors的值與性能並沒有太大關係。html

 

默認狀況下,my.cnf文件中可能沒有此行,若是須要設置此數值,手動添加便可。java

 

參數格式

1 max_connect_errors = 10

 

修改方法

若是系統是CentOS、Debian等,則配置文件可能位於 /etc/my.cnf 。打開此文件mysql

1 [root@www ~]# vi /etc/my.cnf

而後在[mysqld]配置節中加入上述語句便可。web

 

配置說明

當此值設置爲10時,意味着若是某一客戶端嘗試鏈接此MySQL服務器,可是失敗(如密碼錯誤等等)10次,則MySQL會無條件強制阻止此客戶端鏈接。sql

若是但願重置此計數器的值,則必須重啓MySQL服務器或者執行shell

1 Mysql> FLUSH—HOSTS;命令。

當這一客戶端成功鏈接一次MySQL服務器後,針對此客戶端的max_connect_errors會清零。數據庫

 

影響與錯誤形式

若是max_connect_errors的設置太小,則網頁可能提示沒法鏈接數據庫服務器;而經過SSH的mysql命令鏈接數據庫,則會返回安全

ERROR 1129 (00000): Host ‘gateway’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’錯誤。服務器

 

功能與做用

通常來講建議數據庫服務器不監聽來自網絡的鏈接,僅僅經過sock鏈接,這樣能夠防止絕大多數針對mysql的攻擊;若是必需要開啓mysql的網絡鏈接,則最好設置此值,以防止窮舉密碼的攻擊手段。網絡

相關文章
相關標籤/搜索