MySQL升级8.4重启后Host blocked问题的解决

背景

旧的数据库服务器是CentOS 7.9,已经停止维护更新,当初划分磁盘空间也不够,导致经常存储空间紧张,需要手动清理。
安装新的linux,并把mysql从8.0升级到了8.4。

问题

之前配置每天凌晨备份完数据库,会重启服务器,应用服务会自动重连。升级到8.4就会出现错误:
Host ‘192.168.0.1’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

解决方案

初版

网上的解决方案

1、配置max_connect_errors,试了配置10000;没有效果,不再尝试;
2、mysql进入sql界面,执行sql: flush hosts;报错1064,查看8.4文档flush命令已经不再支持hosts参数;
3、mysqladmin命令行,执行: mysqladmin -u root -p flush-hosts;可行,但需要人工每天手动执行;

终版

仔细阅读官方文档(参考网址3)部分的说明"To flush the host cache, use any of these methods:",主要就是三种方案:
1、通过提供 SUPER 权限,你可以更改 host_cache_size 系统变量的值。
2、通过赋予 DROP 权限,截断host_cache 表。你可以使用 TRUNCATE TABLE 语句来完成。
3、使用 mysqladmin -u username -p password flush-hosts; 清除 host_cache 表。

根据以上方案,考虑从2入手,走ETL方式。

参考网址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值