数据库清除binlog遇坑

当数据库开启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能正常启动了

你可能感兴趣的:(java异常收集及解决方案,数据库,mysql,启动失败,binlog,异常)