MySQL 二进制日志过滤

binlog_do_db;

binlog_ignore_db;

这个两个参数是用来控制对哪个数据库的更改要记录日志;下面以binlog_ignore_db为例子。

假如binlog_ignore_db=studio;

use studio; insert into t(x,y) values(1,1),(2,2);--这个是不会记录二进制日志的、因为它的执行上下文是studio。

use studio;insert into test.t(x,y) values(3,3),(4,4);--同理这个也不会记录日志、因为它的执行上下文是studio。

注意:

  由于是否记录日志是对执行上下文而言的;因为 insert into test.t(x,y) values(3,3),(4,4);这样的语句它的执行上下文并

  没有变、所以为了避免错误的过滤、请不要编写 数据库名.表名   数据库名.函数名 数据库名.存储过程名 这样的SQL而是改用use;

  此行为不适用基于行的复制---因为基于行的复制在每个独立的改变时工作。

posted on 2015-05-11 09:29  蒋乐兴的技术随笔  阅读(226)  评论(0编辑  收藏  举报

导航