MySQL复制:如果我不指定任何数据库,log_bin 会记录所有内容吗?
-
08-06-2019 - |
题
我正在为一台运行一堆数据库(每个客户端一个)的服务器设置复制,并计划在 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 自动检测要复制的数据库)。
解决方案
这看起来是正确的: http://dev.mysql.com/doc/refman/5.0/en/binary-log.html#option_mysqld_binlog-ignore-db.
根据该参考文献:
有一些-binlog-ignore-DB规则。默认数据库是否匹配任何-binlog-ignore-DB规则?
- 是的:不写该语句,然后退出。
- 不:编写查询并退出。
由于您只有忽略命令,因此只要默认(活动)数据库与忽略的数据库之一不匹配,所有查询都将写入日志。
不隶属于 StackOverflow