一、二进制日志(The Binary Log)
1、简介
包含所有更新了的数据或者已经潜在更新了的数据(比如一条没有匹配任何行的delete语句)
包含所有更新语句执行时间的信息
不记录没有修改数据的语句例如select,show
主要作用一:主从复制
主要作用二:恢复数据到故障点前
启用二进制日志会牺牲一点数据库的性能,但带来的好处值得这么做
2、设置二进制以及参数选项
--log-bin[=base_name]
如果没有设置base_name值,默认为-bin加主机名,默认保存位置为数据目录,除非指定了不同的绝对路径
--max_binlog_size
指定单个二进制日志文件的最大值,如果当前二进制日志的size大于指定的值时会创建新日志,新的日志后缀数字+1
--log-bin-index[=file_name]
二进制索引文件用来记录正在使用的二进制文件,默认文件名为二进制日志的名字,后缀为.index
--expire-logs-days
二进制日志的过期时间,过期的二进制日志会被自动删除
--sync_binlog[=0]
=0:由操作系统决定什么时候同步数据到磁盘,=n:n次事务后同步数据到磁盘
3、管理二进制日志
RESET MASTER,PURGE BINARY LOGS语句可以删除所有的二进制日志
mysqlbinlog 转换二进制为易读的文本格式,用于用户查看或管道后恢复数据
二、二进制日志格式(Binary Logging Formats)
--binlog-format[=STATEMENT,ROW,MIXED]
STATEMENT:记录每条修改数据的SQL语句
ROW:记录每行被修改的数据
MIXED:前两种方式的混合
参考:
http://dev.mysql.com/doc/refman/5.5/en/binary-log.html