温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何处理生产线MySQL库Binlog日志占满磁盘的故障

发布时间:2021-10-22 09:50:39 来源:亿速云 阅读:342 作者:iii 栏目:数据库

本篇内容主要讲解“如何处理生产线MySQL库Binlog日志占满磁盘的故障”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何处理生产线MySQL库Binlog日志占满磁盘的故障”吧!

如何处理生产线MySQL库Binlog日志占满磁盘的故障

 一、故障描述

今天早上监控平台邮件通知生产某业务系统的MySQL数据库存储空间达到了90%,赶紧爬起来远程连上数据库主机,发现Master双主MySQL数据库10.5.11.105、和10.5.11.106数据目录/var/lib/mysql空间使用率达到了97%和96%。

二、问题分析过程

首先查询确认数据库主从关系

登录10.5.11.105和10.5.11.106数据库,执行语句:show slave status\G; 查看。

如何处理生产线MySQL库Binlog日志占满磁盘的故障

说明10.5.11.106数据库master-bin.000779之前的binlog是可以清理的。

执行语句:show slave hosts \G 查看server id。

如何处理生产线MySQL库Binlog日志占满磁盘的故障

说明Server_id:33333是10.5.11.105的从库。

执行语句:show variables like ‘server_id’可以确认。

三、查询binlog自动清理是否开启

执行如下语句show variables like 'expire_logs_days';

查看参数发现binlog自动清理功能没有开启。

如何处理生产线MySQL库Binlog日志占满磁盘的故障

四、查看具体的binlog文件

执行语句:show binary logs;

可以看到有大量的binlog文件。

如何处理生产线MySQL库Binlog日志占满磁盘的故障

五、查看binlog具体的存放路径

执行语句:show variables like '%log_bin_basename%'; 查看。

如何处理生产线MySQL库Binlog日志占满磁盘的故障

六、问题的根本原因

经过排查,我们发现问题的根本原因在于没有开启binlog自动清理功能,导致有大量的binlog进行积压所致。

七、处理问题

清理binlog文件。通过确认主从应用最新的binlog来清理binlog,使用如下命令,清理的时候可以多留几个binlog,注意不要手动rm  binlog文件。

1、Purge binary logs to_’binlog文件名’;来清理binlog日志。

2、开启自动清理binlog日志功能(主从库都需执行)

执行语句:

set global expire_logs_days=10;

并在/etc/my.cnf的配置文件中增加如下配置:

expire_logs_days=10

注意:binlog日志过期时间可根据自己公司的要求自定义,我这里设置的是10天!

到此,相信大家对“如何处理生产线MySQL库Binlog日志占满磁盘的故障”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI