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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【問題解決】java.sql.SQLException: null, message from server: “Host ‘xxx.xx.xx.xxx‘ is blocked because ofJavaSQLExceptionNullServerBloC
- Host 'xxx' is not allowed to connect to this MySQL server 解決方法MySqlServer
- Many To Many could not initialize proxy – no Session的解決方法Session
- Mysql mysql lost connection to server during query 問題解決方法MySqlServer
- 異常解決——GitLab : ssh: connect to host port 22: Connection refusedGitlab
- Mysql 錯誤日誌出現大量[Warning] Aborted connection to db user host的解決思路MySql
- 解決MySql報錯:1130 - Host ‘xxx‘ is not allowed to connect to this MySQL server的方法MySqlServer
- MySQL異常刨析:ata source rejected establishment of connection, message from server: “Too many connectionMySqlServer
- Connection could not be established with host 求救
- [20230104]Oracle too many parse errors PARSE ERROR.txtOracleError
- MySQL:unblock with 'mysqladmin flush-hosts'MySqlBloC
- sudo 出現unable to resolve host 解決方法
- Please specify (single) host string for connection:
- 解決 Too many symbol filesSymbol
- Unity 解決 Because you are not a member of this projectUnityProject
- sudo時出現unable to resolve host 的解決方法
- ssh: connect to host localhost port 22: Connection refusedlocalhost
- Dynamics CRM the field cannot be deleted because it is used in one or more process的解決方法delete
- Error establishing a database connection 的解決方法(發現黑客入侵)ErrorDatabase黑客
- Java RMI遇到的Connection refused to Host: 127.x.x.x/192.x.x.x/10.x.x.x問題解決方法Java
- has been blocked by CORS policy跨域問題解決BloCCORS跨域
- Ubuntu 解決 Too many open files 問題Ubuntu
- Oracle資料庫出現WARNING: too many parse errors告警的分析思路Oracle資料庫Error
- ssh連線遠端伺服器出現Host key verification failed. lost connection問題的解決伺服器AI
- kafka報錯解決 kafka.errors.NoBrokersAvailable: NoBrokersAvailableKafkaErrorAI
- linux Too Many Files 問題檢視和解決方法Linux
- 坑:ssh: connect to host github.com port 22: Connection refusedGithub
- The connection to the server 10.10.0.2:6443 was refused - did you specify the right host or port?Server
- Go Errors 詳解GoError
- MySQL ERROR 1040: Too many connectionsMySqlError
- Centos 6 DNS 配置 解決 Unknown hostCentOSDNS
- MySQL:Lost connection to MySQL server at 'readingMySqlServer
- 解決:ChatGPT too many requests in 1 hour.Try again laterChatGPTAI
- 關於對連線資料庫時出現1130-host “**” is not allowed to connect to this MySql/mariadb server 的錯誤解決方法資料庫MySqlServer
- Check connection related issue of mysqlMySql
- mysql(mariadb)啟動失敗解決方法MySql
- Mysql忘記密碼解決方法凹MySql密碼
- 解決 Android studio Connect to 127.0.0.1:[/127.0.0.1] failed: Connection refusedAndroid127.0.0.1AI