Replicação MySQL:se eu não especificar nenhum banco de dados, o log_bin registrará TUDO?

StackOverflow https://stackoverflow.com/questions/8166

  •  08-06-2019
  •  | 
  •  

Pergunta

Estou configurando a replicação para um servidor que executa vários bancos de dados (um por cliente) e planejo adicionar mais o tempo todo, em my.cnf, em vez de ter:

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

posso preferir apenas ter

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

(e nenhum banco de dados para registrar especificado) e assumir que todo o resto está registrado?

EDITAR:na verdade, se eu remover todas as minhas entradas binlog-do-db, ele aparentemente registrará tudo (como você vê o arquivo de log binário mudar de posição quando você mover o banco de dados), mas no servidor escravo, nada será detectado!(talvez seja o caso de usar replicate-do-db?isso mataria a ideia;acho que não posso fazer com que o MySQL detecte automaticamente quais bancos de dados replicar).

Foi útil?

Solução

Isso parece correto: http://dev.mysql.com/doc/refman/5.0/en/binary-log.html#option_mysqld_binlog-ignore-db.

De acordo com essa referência:

Existem algumas regras-binlog-Ignore-DB.O banco de dados padrão corresponde a alguma das regras--Binlog-Ignore-DB?

  • Sim:Não escreva a declaração e saia.
  • Não:Escreva a consulta e saia.

Como você só possui comandos para ignorar, todas as consultas serão gravadas no log, desde que o banco de dados padrão (ativo) não corresponda a um dos bancos de dados ignorados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top