MySQL 8.4 发行说明
在一个更完整的示例场景中,我们设想使用两个复制通道来提供冗余,从而防止单个复制通道可能出现的故障。这需要总共四个复制服务器,源集群上的两个源服务器和副本集群上的两个副本服务器。为了便于后续讨论,我们假设分配的唯一标识符如下所示
表 25.45 文中描述的 NDB 集群复制服务器
服务器 ID | 描述 |
---|---|
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;
警告此时只能启动主通道。仅当主复制通道出现故障时才需要启动辅助复制通道,如 第 25.7.8 节“使用 NDB 集群复制实现故障转移” 中所述。同时运行多个复制通道可能会导致在副本上创建不需要的重复记录。
如前所述,不需要在副本上启用二进制日志记录。