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;

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。