MySQL单主复制多个从属的多个数据库

MySQL单主复制多个从属的多个数据库

问题描述:

嗯,我只是检查,但我想我犯了一个错误。MySQL单主复制多个从属的多个数据库

我有一个运行包含多个数据库的单个MySQL服务器实例。

我需要的是将每个这些数据库复制到不同的从属。

更清楚:

DB1 on Server1 replicates on Slave1 
DB2 on Server1 replicates on Slave2 
... 
DBn on Server1 replicates on Slave'n 

*含义服务器1 =单MySQL实例。

那么有什么选择?

  1. 创建主/服务器的多个实例,并用其 对应的从复制然后?

    [DB1 on Server1 replicates on Slave1] 
    [DB2 on Server2 replicates on Slave2]... 
    
  2. 复制在bin.log所有数据库,然后筛选在从属 配置?

  3. 是否可以在同一台服务器上为每个从站设置多个bin.logs?

没有上述三个是否还有另一个(更好)的aproach?

Thx。

+1

见到这对MySQL网站:http://dev.mysql.com /doc/refman/5.5/en/replication-solutions-partitioning.html –

  • 方法#1需要更多的工作和维护。

  • 方法#3是不可能的AFAIK。

  • 然后,我会去#2方法:单个主站,多个从站,每个从站都有binlog过滤。

每一个从本来在其my.cnf文件,以下过滤器:

replicate-wild-do-table = DBn.% 

参见:http://dev.mysql.com/doc/refman/5.1/en/replication-solutions-partitioning.html

+0

好的谢谢。那正是我需要的。但unfornately我已经有一个奴隶链接到这个主人,并且服务器是使用'binlog-do-db = db1'配置的,所以,我应该停止生产并开始一个新的bin日志吗?我如何设置主复制所有模式? –

+0

是的,我建议使用binlog记录所有事情,只需在主控的'my.cnf'中加入'log_bin = ON'(或'= 1')来重新启动你的主服务器。使用'binlog-do-db'选项是危险的,请参阅http://www.mysqlperformanceblog.com/2009/05/14/why-mysqls-binlog-do-db-option-is-dangerous/ –

+0

ok设置现在开启生产。事实上,我已经选择对每个模式使用'binlog-do-db',但也使用'replicate-wild-do-table'来设置从属以避免大部分危险部分。 thx家伙。 –