2013-09-16 16 views
5

mysql ignore-db opere in base al server my.cnf per quanto ne so,filtro di replica mysql (ignore-db)

cioè

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

non sono sicuro, se questo funziona da lato client troppo, può qualcuno spiega il meccanismo, come posso essere in grado di inviare dal master ma non accettare dal lato client.

Perché voglio farlo? Ho più slave "2 slave" che deve replicare la tabella MySQL dove come negli altri 2 non deve essere sovrascritto. Dove ogni altra tabella verrà replicata.

Leggere questo: http://dev.mysql.com/doc/refman/5.6/en/replication-rules-db-options.html non mi ha chiarito abbastanza.

risposta

18

binlog-ignore-db è un'impostazione master-side, indica al master di non registrare le modifiche che si verificano sul DB elencato.

replicate-ignore-db è un ambiente di schiavi-side, racconta la Schiavo di ignorare le informazioni di log in entrata relative al DB elencato

Il caso tipico utilizzo si ha quando si desidera replicare database diversi da un unico master a diversi Slaves. Il Master deve registrare tutte le modifiche che si verificano in tutti i database (meno quelli eventualmente esclusi dal binlog-ignore-db, cioè il database che non sarà replicato da nessuna parte).

Ogni Slave ricevere l'intero log binario, ma replicherà solo variazioni relative ai database selezionati (vale a dire i database non esclusa dalla replicate-ignore-db - questa lista sarebbe diverso su ogni slave).

(mysql essendo un database di sistema, esso dovrebbe essere ignorato da entrambe le estremità, a meno che davvero, davvero sapere cosa si sta facendo).

+0

Grazie randomSeed, una domanda, per cui al fine di ignorare la replica/binlog da maestro binlog-ignore-db [di ignorare da parte master] è usato, mentre per ignorare dalla fine dello schiavo non replicare-ignore-db [di ignorare da la fine dello schiavo]? – tike

+0

corretto. Nota a margine: il log binario è utile anche se si desidera consentire [recupero point-in-time] (http://dev.mysql.com/doc/refman/5.6/en/point-in-time-recovery.html). Non ignorare i database senza considerazione. D'altra parte, ignorare i database riduce le dimensioni del registro binario (e quindi riduce il traffico di rete). – RandomSeed