0

我有两个 MariaDB Galera 集群(PROD(服务器 A、B 和 C)和 DR(服务器 1、2 和 3)。我从主组件节点(服务器 A)配置了标准复制(主从) PROD 集群到 DR 集群的主要组件节点(服务器 1)。每个集群可以正常独立运行(即,如果您对一个节点进行更改,那么集群中的所有节点都会立即复制更改)。

此配置的目的是允许我延迟在从属设备上应用中继日志一段预定的时间。不幸的是,MariaDB 10.1 不支持 MySQL 5.6/7 延迟中继日志应用程序。我正在使用 Percona 脚本来帮助控制从属进程,以便我可以改变将中继日志应用到 DR 集群之前的时间量。

当直接对 PROD 集群的主组件节点(Master - server A)进行更改时,更改会立即复制到 DR 集群的主组件节点(Slave - server 1),然后依次复制到所有节点(服务器 2 和 3) 位于 DR 集群中。但是,如果我对 PROD 集群中不是主要组件节点(服务器 A)的节点(例如服务器 C)进行更改,则这些更改不会复制到 DR 主要组件节点(从属 - 服务器 1)。

我怀疑驱动二进制日志记录的进程没有监听通过在端口 4567 上运行的 wsrep 集群复制进程表现出来的 PROD 集群中的更改,因此没有写入二进制日志文件。

有没有办法配置 MariaDB,以便通过集群的主要组件节点(主服务器 A)的二进制日志复制 PROD 集群的任何节点上的更改?

谢谢。

4

1 回答 1

0

您需要在主节点上设置log-slave-updates(连同 log-bin)。通过这样做,您指示节点将其从其他节点接收到的更改记录到其二进制日志中,从而能够将更改复制到其从属节点。

于 2016-04-26T17:45:41.363 回答