mysql清理binlog之坑

mysql清理binlog有两种方法,第一种是reset master,还有一种是purge binlong before “timestamp”。

在使用过程中,reset master在某些情况下会导致mysql直接卡死,出现死锁的情况无法对外提供服务,包括连接的时候都会hang住直至卡死。

目前遇到的情况是当刷新flush binlog到硬盘的时候如果这个时候恰好有reset master而这个时候如果竞争那个最新的binlog文件那么就很可能会导致死锁的发生,所以问题就在于对最新一个binlog的死锁,而reset master是没有办法指定删除的binlog的,所以很难保证不发生死锁的情况,而purge是可以指定要删除的binlog,因此使用purge方法能避免这个问题。