MySQL二进制日志

一、二进制日志(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

上一篇:uva 10892


下一篇:Sphinx+MySQL5.1x+SphinxSE+mmseg