MySQL binlog超过binlog_expire_logs_seconds阈值没有被删除案例

生产环境有一套3个节点的MySQL InnoDB Cluster,MySQL的版本为Server version: 8.0.35 MySQL Community Server - GPL, 早上突然收到Zabbix的告警,其中一个节点出现空间告警:"/data: Disk space is low (used > 80%)"

检查分析后发现是因为MySQL的binlog没有清理导致空间不足而报警,如下所示(binlog太多,省略了部分内容)

$ du -sh *<br>78G     bin_logs<br>12K     conf<br>7.3G    data<br>132K    logs<br>4.0K    mysql.pid<br>0       mysql_temp<br>4.0K    slow_logs<br>$ cd bin_logs<br>$ ls -lrt<br>total 81783492<br>-rw-r----- 1 mysql mysql  909802606 Jan  9 00:10 mysql_binlog.000011<br>-rw-r----- 1 mysql mysql  984228474 Jan 10 00:10 mysql_binlog.000012<br>-rw-r----- 1 mysql mysql  980302993 Jan 11 00:10 mysql_binlog.000013<br>-rw-r----- 1 mysql mysql  985147519 Jan 12 00:10 mysql_binlog.000014<br>-rw-r----- 1 mysql mysql  962232624 Jan 13 00:10 mysql_binlog.000015<br>....................................................<br>....................................................<br>-rw-r----- 1 mysql mysql  891703862 Apr  7 00:10 mysql_binlog.000101<br>-rw-r----- 1 mysql mysql  920700543 Apr  8 00:10 mysql_binlog.000102<br>-rw-r----- 1 mysql mysql  921675101 Apr  9 00:10 mysql_binlog.000103<br>-rw-r----- 1 mysql mysql       3854 Apr  9 00:10 mysql_binlog.index<br>-rw-r----- 1 mysql mysql  330341220 Apr  9 09:30 mysql_binlog.000104<br>