21

我正在为运行一堆数据库(每个客户端一个)的服务器设置复制,并计划在 my.cnf 上一直添加更多数据库,而不是:

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

我可以拥有吗

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

(并且没有指定要记录的数据库)并假设记录了其他所有内容?

编辑:实际上,如果我删除所有 binlog-do-db 条目,它似乎会记录所有内容(当您移动数据库时,您会看到二进制日志文件更改位置),但在从属服务器上,什么都没有被拾取!(也许,这是使用replicate-do-db的情况?这会扼杀这个想法;我想我不能让MySQL自动检测要复制的数据库)。

4

1 回答 1

12

这看起来是正确的: http: //dev.mysql.com/doc/refman/5.0/en/binary-log.html#option_mysqld_binlog-ignore-db

根据该参考:

有一些 --binlog-ignore-db 规则。默认数据库是否匹配任何 --binlog-ignore-db 规则?

  • 是:不写语句,退出。
  • 否:编写查询并退出。

由于您只有忽略命令,因此只要默认(活动)数据库与忽略的数据库之一不匹配,所有查询都将写入日志。

于 2008-08-11T20:22:24.730 回答