Replicación de MySQL:Si no especifico ninguna base de datos, ¿log_bin registrará TODO?

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

  •  08-06-2019
  •  | 
  •  

Pregunta

Estoy configurando la replicación para un servidor que ejecuta un montón de bases de datos (una por cliente) y planeo agregar más todo el tiempo, en my.cnf, en lugar de tener:

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

¿Puedo preferir simplemente tener

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

(y no se especifica ninguna base de datos para registrar) y asumir que todo lo demás está registrado.

EDITAR:de hecho, si elimino todas mis entradas binlog-do-db, aparentemente registra todo (como ve que el archivo de registro binario cambia de posición cuando mueve la base de datos), pero en el servidor esclavo, ¡no se recoge nada!(¿Quizás este sea el caso de usar replicate-do-db?esto acabaría con la idea;Supongo que no puedo hacer que MySQL detecte automáticamente qué bases de datos replicar).

¿Fue útil?

Solución

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

Según esa referencia:

Hay algunas reglas--binlog-ignore-db.¿La base de datos predeterminada coincide con cualquiera de las reglas--binlog-anignore-db?

  • Sí:No escriba la declaración y salga.
  • No:Escribe la consulta y sal.

Como solo tiene comandos de ignorar, todas las consultas se escribirán en el registro siempre que la base de datos predeterminada (activa) no coincida con una de las bases de datos ignoradas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top