【转】【mysql】many connection errors解决方法
转自:https://jingyan.baidu.com/article/9f7e7ec087dcbe6f2815542d.html?qq-pf-to=pcqq.c2c
错误:Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
原因:
同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;
方法/步骤
-
提高允许的max_connection_errors数量,首先查看该属性设置为多大
命令:show global variables like '%max_connect_errors%';
-
当客户端连接服务端超时(超过connect_timeout), 服务端就会给这个客户端记录一次error,当出错的次数达到max_connect_errors的时候,这个客户端就会被锁定。所以根据业务来尽量把这个值设置大一点,mysql默认值为10,我们可以根据具体需要设置大一点,这里设置为1000.(并非越大越好,越大被攻击时安全性越低)。使用命令:set global max_connect_errors=1000;
-
设置后立马生效。这里我们可以查看一下,是否修改成功,使用命令:show global variables like '%max_connect_errors%';
-
到这一步,就解决了问题了。如果需要永久生效,得去修改mysql配置文件里相应属性。可能配置文件里没有这个属性,需要自己手动添加
-
也可以使用清楚缓存的方法。这样就会把计数清理掉。
命里一,到安装bin目录下,使用mysqladmin -u root -p flush-hosts命里
输入密码后,即完成清楚缓存。
-
也可以进入mysql控制台,执行:flush hosts;
-
可以在navicat上进行修改:
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步