关于延迟 MySQL 副本节点的数据库种子设定
Note
在修补程序版本 3.11.7 中添加了延迟数据库种子设定的功能,并且可用作 beta。
如果主节点的数据超过 7 天,则向群集添加新的 MySQL 副本节点通常会触发数据库种子设定,这可能需要几个小时,具体取决于数据量。 可以选择延迟数据库种子设定,允许配置应用运行更快完成,从而能够更快地向流量开放设备。
如果已配置了至少一个 MySQL 副本,并且要添加额外的 MySQL 副本,则仅应延迟数据库种子设定。 否则,在种子设定完成之前,不会有 MySQL 冗余。
延迟数据库种子设定时,在稍后手动完成种子设定之前,新的 MySQL 副本将不会配置为进行复制,也不会在 MySQL 主节点上拥有数据的副本。
在添加新的 MySQL 节点时配置 MySQL 种子设定延迟
-
在替换节点上使用唯一主机名预配和安装 GitHub Enterprise Server。
-
使用管理 shell 或 DHCP,仅配置替换节点的 IP 地址。 不要配置任何其他设置。
-
为新的 MySQL 节点创建
cluster.conf
条目,并包括skip-data-setup = true
字段。 以下示例添加了具有主机名ghe-data-node-3
和mysql-server
角色的新节点。... [cluster "ghe-data-node-3"] hostname = ghe-data-node-3 ipv4 = 192.168.0.9 # ipv6 = fd12:3456:789a:1::7 mysql-server = true skip-data-setup = true ...
-
若要初始化群集中的新节点,请从含有经修改
cluster.conf
的节点的管理 shell 中,运行ghe-cluster-config-init
。 -
若要验证配置文件,并根据修改后的
cluster.conf
文件复制和配置每个节点,请运行ghe-cluster-config-apply
。
手动设定数据种子
运行 ghe-cluster-config-apply
后,MySQL 服务将在新节点上运行,但不会配置为副本,也不会使用 MySQL 主节点中的数据进行种子设定。 若要从 MySQL 主节点对数据进行种子设定,需要手动配置复制。
-
从新节点,若要开始 MySQL 主节点数据的手动复制,请运行以下命令,将
PRIMARY_IP
替换为运行 MySQL 主节点的节点的 IP 地址。/usr/local/share/enterprise/ghe-mysql-repl-start PRIMARY_IP
数据库种子设定所需的时间取决于数据的大小。 对于大型数据集,建议在 screen
会话中运行上述命令,以确保它能够在 SSH 断开连接后继续运行。