MySQL 8.3 Release Notes
在一个更完整的示例场景中,我们设想两个复制通道,以提供冗余并防止单个复制通道的可能故障。这需要总共四个复制服务器,两个源服务器在源集群上,两个副本服务器在副本集群上。为了讨论的目的,我们假设唯一标识符被分配,如下所示:
表 25.73 文本中描述的NDB集群复制服务器
Server ID | Description |
---|---|
1 | 源 - 主复制通道 (S) |
2 | 源 - 次要复制通道 (S') |
3 | 副本 - 主复制通道 (R) |
4 | 副本 - 次要复制通道 (R') |
使用两个通道设置复制并不比设置单个复制通道有太大不同。首先,必须启动源服务器的 mysqld 进程,然后启动副本服务器的进程。然后,可以通过在每个副本上发出 START REPLICA
语句来启动复制进程。需要发出命令的顺序如下所示:
-
启动主复制源:
shellS> mysqld --ndbcluster --server-id=1 \ --log-bin &
-
启动次要复制源:
shellS'> mysqld --ndbcluster --server-id=2 \ --log-bin &
-
启动主副本服务器:
shellR> mysqld --ndbcluster --server-id=3 \ --skip-replica-start &
-
启动次要副本服务器:
shellR'> mysqld --ndbcluster --server-id=4 \ --skip-replica-start &
-
最后,在主副本上执行
START REPLICA
语句,以在主通道上启动复制,如下所示:mysqlR> START REPLICA;
Warning目前,只需要启动主通道。在主复制通道失败的情况下,才需要启动次要复制通道,如 第 25.7.8 节,“使用 NDB 集群复制实现故障转移” 中所述。同时运行多个复制通道可能会导致副本上创建重复记录。
如前所述,不需要在副本上启用二进制日志记录。