Mysql host is blocked because of many connection errors;unblock解決方法
原因: 同一個ip在短時間內產生太多(超過mysql資料庫max_connect_errors的最大值)中斷的資料庫連線而導致的阻塞;
解決方法:
1、提高允許的max_connection_errors數量:
① 進入Mysql資料庫檢視max_connection_errors: show variables like '%max_connect_errors%';
② 修改max_connection_errors的數量為1000: set global max_connect_errors = 1000;
③ 檢視是否修改成功:show variables like '%max_connect_errors%';
2、使用mysqladmin flush-hosts 命令清理一下hosts檔案(不知道mysqladmin在哪個目錄下可以使用命令查詢:whereis mysqladmin);
① 在查詢到的目錄下使用命令修改:mysqladmin --socket=/tmp/kkimdb.sock --port=3306 -uhyman -p flush-hosts
備註: 配置有master/slave主從資料庫的要把主庫和從庫都修改一遍的(我就吃了這個虧明明很容易的幾條命令結果折騰了大半天);
mysql> flush hosts; 也可以
max_connect_errors是一個MySQL中與安全有關的計數器值,它負責阻止過多嘗試失敗的客戶端以防止暴力破解密碼的情況。max_connect_errors的值與效能並無太大關係。
預設情況下,my.cnf檔案中可能沒有此行,如果需要設定此數值,手動新增即可。
[root@www ~]# vi /etc/my.cnf
max_connect_errors = 1000
配置說明
當此值設定為10時,意味著如果某一客戶端嘗試連線此MySQL伺服器,但是失敗(如密碼錯誤等等)10次,則MySQL會無條件強制阻止此客戶端連線。
如果希望重置此計數器的值,則必須重啟MySQL伺服器或者執行 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的網路連線,則最好設定此值,以防止窮舉密碼的攻擊手段。
解決方法:
1、提高允許的max_connection_errors數量:
① 進入Mysql資料庫檢視max_connection_errors: show variables like '%max_connect_errors%';
② 修改max_connection_errors的數量為1000: set global max_connect_errors = 1000;
③ 檢視是否修改成功:show variables like '%max_connect_errors%';
2、使用mysqladmin flush-hosts 命令清理一下hosts檔案(不知道mysqladmin在哪個目錄下可以使用命令查詢:whereis mysqladmin);
① 在查詢到的目錄下使用命令修改:mysqladmin --socket=/tmp/kkimdb.sock --port=3306 -uhyman -p flush-hosts
備註: 配置有master/slave主從資料庫的要把主庫和從庫都修改一遍的(我就吃了這個虧明明很容易的幾條命令結果折騰了大半天);
mysql> flush hosts; 也可以
max_connect_errors是一個MySQL中與安全有關的計數器值,它負責阻止過多嘗試失敗的客戶端以防止暴力破解密碼的情況。max_connect_errors的值與效能並無太大關係。
預設情況下,my.cnf檔案中可能沒有此行,如果需要設定此數值,手動新增即可。
[root@www ~]# vi /etc/my.cnf
max_connect_errors = 1000
配置說明
當此值設定為10時,意味著如果某一客戶端嘗試連線此MySQL伺服器,但是失敗(如密碼錯誤等等)10次,則MySQL會無條件強制阻止此客戶端連線。
如果希望重置此計數器的值,則必須重啟MySQL伺服器或者執行 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的網路連線,則最好設定此值,以防止窮舉密碼的攻擊手段。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21374452/viewspace-2155266/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【MySQL】Host is blocked because of many connection errorsMySqlBloCError
- 【Mysql】MySql Host is blocked because of many connection errors;MySqlBloCError
- Mysql連線錯誤:Mysql Host is blocked because of many connection errorsMySqlBloCError
- 從原始碼解析ERROR 1129 (HY000):Host is blocked because of many connection errors原始碼ErrorBloC
- 【問題解決】java.sql.SQLException: null, message from server: “Host ‘xxx.xx.xx.xxx‘ is blocked because ofJavaSQLExceptionNullServerBloC
- Many To Many could not initialize proxy – no Session的解決方法Session
- Host 'xxx' is not allowed to connect to this MySQL server 解決方法MySqlServer
- Mysql mysql lost connection to server during query 問題解決方法MySqlServer
- Mysql 錯誤日誌出現大量[Warning] Aborted connection to db user host的解決思路MySql
- 異常解決——GitLab : ssh: connect to host port 22: Connection refusedGitlab
- 解決Mysql錯誤[1040]Too many connectionsMySql
- Mysql中too many connections問題的解決MySql
- MySQL:unblock with 'mysqladmin flush-hosts'MySqlBloC
- MySQL異常刨析:ata source rejected establishment of connection, message from server: “Too many connectionMySqlServer
- Connection could not be established with host 求救
- contains a file system with errors, check forced解決方法AIError
- 解決MySql報錯:1130 - Host ‘xxx‘ is not allowed to connect to this MySQL server的方法MySqlServer
- sudo 出現unable to resolve host 解決方法
- 解決 Too many symbol filesSymbol
- Unity 解決 Because you are not a member of this projectUnityProject
- Swift:Errors thrown from here are not handled because the enclosing catch is not exhaustiveSwiftError
- WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解決方法REMIDE
- 解決java connectionJava
- Dynamics CRM the field cannot be deleted because it is used in one or more process的解決方法delete
- sudo時出現unable to resolve host 的解決方法
- 解決mysql Navicat 出錯:1130-host . is not allowed to connect to this MySql server,MySqlServer
- has been blocked by CORS policy跨域問題解決BloCCORS跨域
- Check_icmp check_host_alive報錯解決方法
- 【轉載】Xlib: connection to ":0.0" refused by server的解決方法Server
- Ubuntu 解決 Too many open files 問題Ubuntu
- 解決Mac java.net Local host name unknown error的方法MacJavaError
- ssh: connect to host localhost port 22: Connection refusedlocalhost
- ORA-03135: connection lost contact的解決方法
- MySQL: Too many connectionsMySql
- ssh連線遠端伺服器出現Host key verification failed. lost connection問題的解決伺服器AI
- mysql slave-skip-errorsMySqlError
- Java RMI遇到的Connection refused to Host: 127.x.x.x/192.x.x.x/10.x.x.x問題解決方法Java
- 【故障處理】ORA-12545: Connect failed because target hostAI