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 集群复制实现故障转移” 中所述。同时运行多个复制通道可能会导致副本上创建重复记录。
如前所述,不需要在副本上启用二进制日志记录。