Replica MySQL:se non specifico alcun database, log_bin registrerà TUTTO?
-
08-06-2019 - |
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).
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.