2013-08-22 8 views
15

Stiamo utilizzando Amazon RDS e abbiamo un MASTER che si replica su uno SLAVE.È possibile replicare un database o una tabella specifici utilizzando Amazon RDS

Vogliamo creare un nuovo slave che replicherà solo database o tabelle specifici dal master.

Per impostazione predefinita, RDS replica semplicemente i database dell'intero master sullo slave. Ma vogliamo solo fare tabelle specifiche. So che questo è possibile in MySQL in generale, ma non sono sicuro di RDS e non riesco a trovare una risposta da nessuna parte.

Queste impostazioni esistono in MySQL, non le vedo nelle impostazioni dei parametri personalizzati per RDS a meno che non manchi qualcosa.

--replicate-ignore-db=db_name 
--replicate-ignore-table=db_name.tbl_name 

risposta

11

Questo non è possibile con RDS.

È possibile "simulare" convertendo le tabelle che non si desidera replicare in Engine = Blackhole, tuttavia è necessario modificare il proprio gruppo di parametri e impostare "sola lettura" su 0, invece del valore predefinito "{ TrueIfReplica}".

In alternativa, è necessario eseguire il proprio server slave su EC2 con il server RDS come master (ciò è possibile se si esegue MySQL 5.6 su RDS, ma non 5.5 o sotto), tuttavia è estremamente complicato impostare.

0

Come detto Kat, no, non forniscono questa funzionalità.

Non me lo aspetto neanche, dal momento che potremmo utilizzarlo per interrompere l'incapsulamento as-a-service, che richiede la replica di alcune tabelle per far funzionare le funzioni primarie.

Una soluzione che sto valutando, consiste nel creare un'istanza MySQL basata su EC2 tra master e slave nella catena di replica (utilizzando la funzione di replica esterna), con tali filtri applicati e il nero- motore preforato pre-impostato per tutti i tavoli, solo per mantenere le cose facili.

Un vantaggio in più, è che lo slave RDS ha meno dati del log binario da analizzare, poiché è pre-filtrato.

Problemi correlati