2011-11-23 66 views
4

嗯,我只是檢查,但我想我犯了一個錯誤。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 –

回答

2
  • 方法#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傢伙。 –

相關問題