GreatSQL社区

搜索

chongzh

在所有MGR(整个组)关闭后,我如何知道在组复制中首先启动哪个成员? ...

chongzh 已有 372 次阅读2023-9-1 14:56 |个人分类:Mysql MGR|系统分类:运维实战

组复制不支持在组中的所有成员关闭后自动重新启动组。当关闭和重新启动整个组时,需要选择一个服务器成员来引导组。您必须使用引导标志(group _ replication _ bootstrap _ group选项)来指示成员创建一个组并充当初始种子服务器

要重新启动组复制,您应该找到最新的成员。最简单的方法是比较所有成员上执行的GTIDs。最新的成员应该有一个在其他成员上执行的超级GTIDs集,建单的理解就是GTID最大的那个。

mysql> SELECT @@global.gtid_executed;
+----------------------------------------------+
| @@global.gtid_executed                       |
+----------------------------------------------+
| 550fa9ee-a1f8-4b6d-9bfe-c03c12cd1c72:1-14048 |
+----------------------------------------------+
1 row in set (0.00 sec)
gtid_executed:这个是已经执行过的所有的事物的GTID的一个系列串。
gtid_purged:这个序列是指我们在binary log删除的事物的GTID的序列号。

要启动组复制,请指示最新的服务器成员引导该组,然后启动组复制。该引导只能由一台服务器完成,即启动组的服务器,并且只能启动一次。这就是引导配置选项的值未保存在配置文件中的原因。(组复制引导组选项的默认值为OFF。)如果它保存在配置文件中,服务器在重新启动时会自动引导第二个同名的组。引导两次将导致两个不同的组具有相同的名称。同样的道理也适用于这个选项设置为on的插件的停止和重启。

SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;

一旦START GROUP_REPLICATION语句返回,该组就已启动。引导组后,需要将组复制引导组选项设置为关闭。然后,为该组的其余成员启动组复制

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-5-4 02:33 , Processed in 0.013601 second(s), 8 queries , Redis On.
返回顶部