本文最后更新于 2024-01-26,文章内容可能已经过时。

一、问题现象:

业务库从mysql5.7.39 升级到 mysql5.7.43 中,JDBC业务连接报错,报错内容 ERROR 1129 (HY000): Host '192.168.1.34' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

二、分析:

同一个ip在短时间内产生太多,中断的数据库连接而导致的阻塞

三、解决方法:

临时解决方法:

(1)、临时修改max_connect_errors的值

进入Mysql数据库查看max_connect_errors:
show variables like '%max_connect_errors%';
100
修改max_connect_errors的值
set global max_connect_errors = 1000;
查看是否修改成功
show variables like '%max_connect_errors%';
1000

(2)、使用mysqladmin flush-hosts 命令清理一下hosts文件

mysqladmin -u xxx -p flush-hosts
或者
mysql -uroot -p
> flush hosts;

(3)、重启mysqld

重启会立即释放

永久解决方法:

(1)、添加 max_connect_errors的值

vim /etc/my.cnf
max_connect_errors = 1000