Mysql binlog日志太多,占用大量磁盘空间该如何正确处理

Mysql binlog日志太多,占用大量磁盘空间该如何正确处理

1、问题描述

由于其他程序问题,一直读写数据库,导致数据库产生了大量的binlog日志,把磁盘空间占满

2、解决方式

可以先rm 删除binlog日志文件,再执行purge binary logs to 'mysql-binlog.000100'.

注意:mysqlbinlog 文件的生成顺序是递增的,也就是mysql-binlog.000100 比起mysql-binlog.000101, mysql-binlog.000100是较为早一些的binlog日志。

rm 删除的时候,一定不能删除正在使用的binlog文件。另外用rm 删除的binlog ,一定要再purge一次,不然数据库无法启动。

rm  mysql-binlog.000100
purge binary logs to 'mysql-bin.0000100'

3、补充mysql 命令操作

# 查看当前binlog文件列表
SHOW BINARY LOGS;

# 设置binlog过期时间,使系统自动删除binlog
show variables like 'expire_logs_days';
set global expire_logs_days = 30; 


# 查看binlog文件中记录的操作
show binlog events in 'mysql-binlog.000100'
# 也可以使用shell 查看
mysqlbinlog  --no-defaults /var/lib/mysql/mysql-binlog.000100
posted @ 2020-04-19 19:41  yanling0813  阅读(7194)  评论(0编辑  收藏  举报