ERROR 1129 : Host is blocked because of many connection errors; unblock with mysqladmin flush-host

1. 问题:ERROR 1129 (00000): Host ‘xxxx’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

出现这个错误还是很难定位的。出现这个问题通常是暴力连接数据库导致的,比如:不断尝试用错误用户密码连接数据库,达到数据库错误连接数最大限制,被强制禁连。问题严重的时候,整个数据库停止服务!!!
当你连接数据库怎么也不成功的时候,尝试telnet一下数据库,这个错误信息就会打印出来。当然有些自带检测能力的工具也可以定位到这个错误,不过一般大家都意识不到。曾经在nacos配置数据库的时候发生过这类问题,nacos本身的报错就一句:no datasource set … 一万遍 连接不上数据库(你个老六,就不会报点有用的错误信息)。

2. mysql 错误连接数max_connect_errors

在配置文件中可以找到:在这里插入图片描述

这个配置的作用:当此值设置为10时,意味着如果某一客户端尝试连接此MySQL服务器,但是失败(如密码错误等等)10次,则MySQL会无条件强制阻止此客户端连接。

我估计很多人看到这里已经豁然开朗了,还没开的是小白(doge)。

3. 问题解决

第一种方式:使用flush hosts

mysql> flush hosts;

Query OK, 0 rows affected (0.00 sec)

mysql> select * from performance_schema.host_cache;

Empty set (0.00 sec)

mysql>

第二种方式:mysqladmin flush-hosts 命令清理一下hosts cache信息

[root@DB-Server ~]# mysqladmin --port=3306 -uroot -p flush-host

Enter password:
这个命令一般需要到bin目录下执行。
在这里插入图片描述

4. 总结

我不是很推荐修改mysql配置文件来修改max_connect_errors,稍微改大一些,提高一下容错是可以的。这个问题的最大的难点在于:问题表现的很普通,但是出现的时候往往错误信息很少定位到。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值