binlog主要是用于保证数据完整的,如主从备份,通过从binlog文件中读取操作来在salve机上进行同样的操作,保证主从备份,当然不可能每次都从开始的地方redo,所以每条记录都有一个时间截TIMESTAMP。
二、简单的使用binlog
show binary logs; #显示binlog文件
purge binary logsto 'mysql-bin.**' #删除到**文件
bin/mysqlbinlog binlogfile #解析binlog文件
利用binlog恢复数据:
bin/mysqlbinlog --start-datetime='2011-7-7 18:0:0'--stop-datetime='2011-7-7 20:07:13' data/mysql-bin.000008 |mysql -u root
三、类型
binlog的格式有三种,这也反应了mysql的复制技术:基于SQL语句的复制
(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。相应地,binlog的格式也有三种:STATEMENT,ROW,MIXED。
mysql>showvariables like 'binlog_format' #查看binlog的格式
使用mysqlbinlog解析的binlog:
MIXED(STATEMENT):
# at 193(开始位置)