数据库清除binlog遇坑

文章讲述了在开启binlog后,日志占用大量内存,尝试使用`purgemasterlogsbefore`和`purgemasterlogto`命令清理无效,转而采用暴力删除binlog文件,结果导致MySQL服务无法启动。问题出在mysql-bin.index文件中仍保留了已删除binlog的引用,清除这些引用后,MySQL服务恢复正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当数据库开启binlog之后

     当数据库开启binlog之后,随着时间的增加,日志也会占据大量的内存,当然你也可以设置bin_log的过期时长

     这里就说说我忍受不了数据库binlog日志太多选择手动清除的一件坑事

show master logs;
mysql-bin.000001
mysql-bin.000002
mysql-bin.000003
mysql-bin.000004

 我试着这个样清除

purge master logs before ‘20xx-xx-xx 14:00:00’; //删除指定期以前的志索引中binlog志件
purge master logs to 'mysql-bin.00001'; //删除指定志件的志索引中binlog志件

但是执行之后,很长一段时间不见任何效果

于是我选择暴力删除,

rm  xxxx

然后我重启了mysql服务,然后就尴尬了,

mysql死活起不来

查看日志就一直报这个错误

2023-07-13 14:49:57 25873 [Note] Shutting down plugin ‘ARCHIVE’
2023-07-13 14:49:57 25873 [Note] Shutting down plugin ‘MyISAM’
2023-07-13 14:49:57 25873 [Note] Shutting down plugin ‘CSV’
2023-07-13 14:49:57 25873 [Note] Shutting down plugin ‘MEMORY’
2023-07-13 14:49:57 25873 [Note] Shutting down plugin ‘MRG_MYISAM’
2023-07-13 14:49:57 25873 [Note] Shutting down plugin ‘sha256_password’
2023-07-13 14:49:57 25873 [Note] Shutting down plugin ‘mysql_old_password’
2023-07-13 14:49:57 25873 [Note] Shutting down plugin ‘mysql_native_password’
2023-07-13 14:49:57 25873 [Note] Shutting down plugin ‘binlog’
2023-07-13 14:49:57 25873 [Note] /usr/sbin/mysqld: Shutdown complete

某度一下,有说调内存的

有教(千万别试哈)

 rm ibdata1  ib_logfile0  ib_logfile1

好家伙,要是线上数据库,rm ibdata1 怕是要直接去缅甸打工了

算了我还是自己看看日志,研究一下,以防被他们带偏

既然是删除binlog出现的问题,我就把binlog相关的地方都检查一遍

果然在mysql-bin.index中发现了问题

可以非常明确的看到我的删除掉的binlog的路径依旧存在这里面,导致mysql在plugin  binlog的的时候无法正常引用binlog

我清除掉里面的内容,果然mysql能正常启动了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斗码士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值