Domanda

Sto configurando la replica per un server che esegue una serie di database (uno per client) e ho intenzione di aggiungerne altri continuamente, su my.cnf, invece di avere:

binlog-do-db  = databasename 1
binlog-do-db  = databasename 2
binlog-do-db  = databasename 3
...
binlog-do-db  = databasename n

posso piuttosto semplicemente avere

binlog-ignore-db  = mysql
binlog-ignore-db  = informationschema

(e nessun database da registrare specificato) e presupporre che tutto il resto sia registrato?

MODIFICARE:in realtà se rimuovo tutte le mie voci binlog-do-db, apparentemente registra tutto (come vedi il file di registro binario cambia posizione quando sposti il ​​database), ma sul server slave non viene rilevato nulla!(forse è il caso di utilizzare replicate-do-db?questo ucciderebbe l'idea;immagino di non poter fare in modo che MySQL rilevi automaticamente quali database replicare).

È stato utile?

Soluzione

Sembra corretto: http://dev.mysql.com/doc/refman/5.0/en/binary-log.html#option_mysqld_binlog-ignore-db.

Secondo tale riferimento:

Ci sono alcune regole-binlog-ignore-db.Il database predefinito corrisponde a una delle regole--Binlog-Ignoro-DB?

  • SÌ:Non scrivere la dichiarazione ed esci.
  • NO:Scrivi la query ed esci.

Poiché hai solo comandi da ignorare, tutte le query verranno scritte nel registro purché il database predefinito (attivo) non corrisponda a uno dei database ignorati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top