- 论坛徽章:
- 0
|
我觉得可以从以下几个方面去考虑:
1、binlog 是干什么用的?
2、binlog 怎么生成?
3、什么时机删除 binlog 为最妥?
4、怎么删除?
首先:
1、binlog 是记录数据库的操作日志,基本是增、删、改的记录,可以通过配置决定记录所有数据库还是部分库或表。
2、每个 binlog 默认大小为 1G左右(说 1G 左右的原因是看最后一次记录的大小所决定)。当达到默认值时 mysqld 自动生成下一个,例如当 mysql-bin.0000001 达到 1G时,就会自动生成 mysql-bin.0000002,还有就是当 mysqld 重新启动时或使用 flush logs; 会自动生成下一个。
3、什么时机删除 binlog 为最妥?看 binlog 用于干什么。以楼主的应用来讲,只要 slave 已经完成同步,那么这个 binlog 就没有什么用了,可以删除了。
4、删除方法有几种:
(1)直接删除 binlog 文件(删除当前 binlog 之前的)
(2)通过 purge master logs to ...... 删除(一种可以通过文件名,一种可以通过时间)
(3)设置 expire_logs_days 变量,expire_logs_days 值为 int, 单位是天,例如 expire_logs_days = 3,表示删除3 天之前的 binlog.
不推荐使用第 3 种方法,除非就保证 slave 确实已经完成了要删除 binlog 的复制。
工具就这么多,如何用取决于楼主的应用环境。
[ 本帖最后由 blackbox 于 2009-5-31 13:15 编辑 ] |
|