前言
本次不是做主从也不是数据恢复,单纯是因为之前写的代码不够优秀,导致ddl 次数比较多,而且master数据库有很多binlog,并且这些binlog占用了大量空间,所以我要清理掉他们。因为没有做主从,所以不担心删除binlog后会对主从同步有影响。
binlog简要说明
binlog说明
MySQL 的二进制日志 binlog 可以说是 MySQL 最重要的日志,它记录了所有的 DDL 和 DML 语句(除了数据查询语句select、show等),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。binlog 的主要目的是复制和恢复。
使用场景
Binlog日志的两个最重要的使用场景
- MySQL主从复制:(MySQL Replication)在Master端开启binlog,Master把它的二进制日志传递给slaves来达到master-slave数据一致的目的
- 数据恢复:使用 mysqlbinlog工具来恢复数据
上面是了解binlog是什么,了解之后才知道我的操作该不该做。
清理binlog
- 查看binlog状态
ON表示开启状态 show variables like '%log_bin%'; -
查看最新的binlog文件名 show master status; -- 最新的binlog文件
show master logs; -- 查看binlog日志列表 -
分析日志 在Linux中执行命令: mysqlbinlog --database=user_db /var/lib/mysql/binlog.000001 -
删除之前的binlog(执行删除的时候,会自动生成新的binlog文件继续记录日志) reset master;
END
|