过滤mysql复制(ignore-db)

时间:2013-09-16 14:49:26

标签: mysql database-replication

mysql ignore-db根据服务器my.cnf AFAIK工作,

binlog-ignore-db                        = mysql
replicate-ignore-db                     = mysql

我不确定,如果这也适用于客户端,任何人都可以解释这个机制,我怎样才能从主服务器发送但不能在客户端接受。

为什么我要这样做?我有多个奴隶" 2奴隶"必须复制MySQL表,而不应该覆盖其他2表。每个其他表都将被复制的地方。

读这个:http://dev.mysql.com/doc/refman/5.6/en/replication-rules-db-options.html并没有让我足够清楚。

1 个答案:

答案 0 :(得分:22)

binlog-ignore-db是主要设置,它告诉Master不要记录列出的数据库中发生的更改。

replicate-ignore-db是从属设置,它告诉Slave忽略与列出的数据库相关的传入日志信息

典型的用例是当您想要将不同的数据库从一个Master复制到不同的Slave时。 Master必须记录所有数据库中发生的所有更改(减去可能被binlog-ignore-db排除的更改,即不会在任何地方复制的数据库)。

每个Slave都会收到完整的二进制日志,但只会复制与所选数据库相关的更改(即{em> <{1}}排除的数据库 - 每个Slave上的列表都不同)。

replicate-ignore-db是一个系统数据库,应该从两端被忽略,除非你真的,真的知道你在做什么)。< / p>