1.故障描述今天早上监控平台邮件通知生产中某业务系统MySQL数据库存储空间已达到90%,于是赶紧起身远程连接数据库主机,发现master双主MySQL数据库10.5.11.105和10.5.11.106数据目录/var/lib/mysql的空间利用率达到了97%和96%。2、问题分析过程首先查询确认数据库的主从关系。登录10.5.11.105和10.5.11.106数据库,执行语句:showslavestatus\G;查看。说明可以清理10.5.11.106数据库master-bin.000779之前的binlog。执行语句:showslavehosts\G查看serverid。说明Server_id:33333是10.5.11.105的从库。执行语句:showvariableslike'server_id'canbeconfirmed。3、查询是否开启了binlog自动清理执行如下语句showvariableslike'expire_logs_days';查看参数,发现没有开启binlog自动清理功能。4.查看具体的binlog文件执行语句:showbinarylogs;可以看到有大量的binlog文件。5、查看binlog的具体存放路径执行语句:showvariableslike'%log_bin_basename%';看法。6.问题根源经过排查,我们发现问题根源是没有开启binlog自动清理功能,导致binlog大量积压。7、解决问题,清理binlog文件。通过确认master和slave应用了最新的binlog来清理binlog。清理时使用如下命令多保留几个binlog。注意不要手动rmbinlog文件。1.清除二进制日志到_'binlog文件名';清理binlog日志。2、开启自动清理binlog日志功能(主从库都需要执行)执行语句:setglobalexpire_logs_days=10;并在/etc/my.cnf的配置文件中添加如下配置:expire_logs_days=10注意:binlog日志过期时间可以根据贵公司的要求自定义。我在这里定了10天!
