mysql 报错 1129 - Host ‘192.168.1.190‘ is blocked because of many connection errors; unblock with ‘mys
原因:MySQL服务器由于检测到来自IP地址192.168.1.190的多次失败连接尝试,自动阻止了该主机的访问。这是MySQL的安全机制,用于防止暴力破解攻击。•应用程序配置错误(错误的用户名/密码)•连接池配置不当,导致大量连接尝试失败•网络不稳定导致连接中断•MySQL默认会阻止连续10次(默认值)连接失败的客户端•这是MySQL的安全机制,防止暴力破解攻击。
一、原因和解决
原因:MySQL服务器由于检测到来自IP地址192.168.1.190的多次失败连接尝试,自动阻止了该主机的访问。这是MySQL的安全机制,用于防止暴力破解攻击。
造成的原因有:
1.频繁失败的连接尝试:
•应用程序配置错误(错误的用户名/密码)
•连接池配置不当,导致大量连接尝试失败
•网络不稳定导致连接中断
2.达到max_connect_errors限制:
•MySQL默认会阻止连续10次(默认值)连接失败的客户端
•这是MySQL的安全机制,防止暴力破解攻击
3.应用程序问题:
•代码中没有正确处理连接失败的情况 ,有的程序,连不上就一直连,应该做个延时30秒或别的措施,有的网络不稳定,数据库一断开就频繁直接连。
•连接泄漏导致大量半开连接
解决方法:
登录服务器 执行 flush hosts

预防措施:
-
检查应用程序的连接配置,确保使用正确的凭据
-
验证应用程序与MySQL服务器之间的网络连接
-
如有需要,可以在my.cnf配置文件中增加max_connect_errors值 max_connect_errors = 1000
查看MySQL当前max_connect_errors
-
SHOW VARIABLES LIKE '%max_connect_errors';使用系统命令查看配置文件
- grep 'max_connect_errors' /etc/my.cnf
临时修改可以使用(重启后失效)
SET GLOBAL max_connect_errors=1000;
二、查看当前连接到MySQL的IP地址
1.使用MySQL命令查看所有连接
SHOW PROCESSLIST;
SELECT * FROM information_schema.processlist;

方法2:查看带有IP地址的连接信息
SELECT
id,
USER,
HOST,
db,
command,
time,
state,
info
FROM
information_schema.processlist
WHERE
HOST NOT LIKE 'localhost%';
法3:统计各IP的连接数
SELECT
SUBSTRING_INDEX(HOST, ':', 1) AS client_ip,
COUNT(*) AS connection_count
FROM
information_schema.processlist
GROUP BY
client_ip
ORDER BY
connection_count DESC;
ok
更多推荐
所有评论(0)