我有两台 MySQL 服务器,DB1 具有主从复制。从属服务器保存 DB2。由于从属服务器功能不太强大,我想在第三台服务器上对 DB2 运行分析。可以进行这样的设置吗?
答案1
你的标题和问题都比较模糊,我来回答两个问题。
不要尝试复制一些朝一个方向的表格,其他另一个方向的桌子。
将 3 个(或更多)服务器链接在一起是完全没问题的:
DB1 是主
DB2 是 DB1 的副本,也是主
DB3 是 DB2 的副本
或者你可以让两个副本挂在一个主节点上。也就是说,
DB1 是主
DB2 和 DB3 分别是 DB1 的副本 - 注意:它们的中继日志不一定彼此同步;这样没问题。
双向复制-- 双主设置是指两台服务器既是“主”又是“副本”。(这以前称为“双主”。)它主要用于实现相对快速的故障转移。
当你可以对复制的内容使用限制(通过 binlog/replicate-do/ignore),您将失去故障转移功能。
需要注意的一件事任何复制拓扑。所有写入操作均在全部服务器。(除非被过滤掉。)我的观点是,你不能用正常的复制来“扩展写入”。
服务器 1 上的 DB1 -> 服务器 2 上的 DB1 服务器 2 上的 DB2 -> 服务器 3 上的 DB2
那么,有 3 台服务器和至少 2 个数据库?
在 Server2 上,您可能希望“binlog_ignore = DB1”以避免复制那db 到 Server3。
Server2 被设置为主服务器(对于 Server3)和副本服务器(对于 Server 1)。