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;
此行为不适用基于行的复制---因为基于行的复制在每个独立的改变时工作。