20.2.1.5 引导组

首次启动组的过程被称为引导(bootstrapping)。您使用group_replication_bootstrap_group系统变量来引导一个组。引导应该仅由单个服务器执行,即启动组的服务器,并且只能执行一次。这就是为什么group_replication_bootstrap_group选项的值没有被存储在实例的选项文件中的原因。如果它被保存在选项文件中,服务器重启时会自动使用相同的名称引导第二个组。这会导致出现两个具有相同名称的不同组。同样的逻辑也适用于将此选项设置为ON时停止和重启插件。因此,为了安全地引导组,您需要连接到s1并发出以下语句:

mysql> SET GLOBAL group_replication_bootstrap_group=ON;

mysql> START GROUP_REPLICATION;

mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

 或者使用START GROUP_REPLICATION语句进行分布式恢复的时候提供用户凭证(从MySQL8.0.21开始才可以),执行如下语句:

mysql> SET GLOBAL group_replication_bootstrap_group=ON;

mysql> START GROUP_REPLICATION USER='rpl_user', PASSWORD='password';

mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

 一旦START GROUP_REPLICATION执行成功,组就会被启动,可以通过如下SQL进行查看

 mysql> SELECT * FROM performance_schema.replication_group_members;

 这些信息中有成员在组内的唯一标识符: ce9be252-2b71-11e6-b8f4-00212844f856,状态是ONLINE,并且s1是监听在3306端口。

为了证明服务器确实处于组中并且能够处理负载,请创建一个表并向其中添加一些内容:

mysql> CREATE DATABASE test;

mysql> USE test;

mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL);

mysql> INSERT INTO t1 VALUES (1, 'Luis');

 检查binlog中关于t1的内容:

mysql> SELECT * FROM t1;

mysql> SHOW BINLOG EVENTS;

官方文档中的内容此处省略了,粘贴过来格式有点乱。

如上所示,数据库和表对象已被创建,并且它们对应的DDL(数据定义语言)语句被写入到了二进制日志中。同时,数据也被插入到了表中并写入了二进制日志,因此可以通过从捐赠者(源库)的二进制日志中进行状态转移来用于分布式恢复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值