mysql mgr 单主模式_5. MySQL组复制(MGR)全解析 Part 5 MGR单主模式部署指南

前期回顾

这期的专题我们来介绍MySQL组复制相关的内容

主机名

业务IP

私有IP

复制用户

角色

rac1

11.12.14.29

10.10.10.11

rpl

rac2

11.12.14.30

10.10.10.12

rpl

rac3

11.12.14.39

10.10.10.13

rpl

ace9a8da478712a23e3d6bcd9c2930bd.png

上节我们说了MGR部署前的准备,这节内容为如何部署

1.rac1新建组复制用户

这里我们和前面说过的复制一样,也需要新建用户用于复制

我们这里使用SET SQL_LOG_BIN=0;让该命令不生成日志文件,这样就不会传到其他服务器上了,该变量为session级别

rac1

mysql>SET SQL_LOG_BIN=0;

mysql> CREATE USER rpl@'%' IDENTIFIED BY 'rpl';

mysql> GRANT REPLICATION SLAVE ON *.* TO rpl@'%';

mysql> FLUSH PRIVILEGES;

mysql>SET SQL_LOG_BIN=1;

2. 开启复制通道

rac1

mysql> CHANGE MASTER TO MASTER_USER='rpl',MASTER_PASSWORD='rpl' FOR CHANNEL 'group_replication_recovery';

3. 引导组复制

第一次启动组复制的过程我们叫做引导(bootstrapping)

我们使用group_replication_bootstrap_group参数来引导以一个组,该参数在前面配置中是off状态

rac1

mysql> SET GLOBAL group_replication_bootstrap_group=ON;

mysql> START GROUP_REPLICATION;

mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

1507fa95510a72f78c276c17818f1192.png

可以看到启动完成并且rac1为主成员

这时我们可以查询下面语句查看MGR信息

SELECT * FROM performance_schema.replication_group_members;

c16d8d83764940def79b93d6d6acc679.png

从上图可以看到该组中有一成员,该成员的uuid为4e551942-aeb6-11e9-a5c8-0050568cef02,同时还包含了主机名和监听端口信息,状态为online

这时我们可以在rac1上新增一些表供后续测试使用

mysql>use test

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

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

4. 加入第二个成员

这时我们的MGR已经引导完成,接下来我们将rac2加入到组中

一些配置信息我们在上节已经说到了,包括复制配置和组复制配置

4.1 新建用户

rac2

mysql>SET SQL_LOG_BIN=0;

mysql> CREATE USER rpl@'%' IDENTIFIED BY 'rpl';

mysql> GRANT REPLICATION SLAVE ON *.* TO rpl@'%';

mysql> FLUSH PRIVILEGES;

mysql>SET SQL_LOG_BIN=1;

4.2 开启复制通道

rac2

mysql> CHANGE MASTER TO MASTER_USER='rpl',MASTER_PASSWORD='rpl' FOR CHANNEL 'group_replication_recovery';

4.3 开启组复制

rac2

START GROUP_REPLICATION;

3f3ff07cc229885babfe273c4613431d.png

这时查询test数据库中的表发现t1表已经同步过来了

5. 加入第三个成员

接下来我们将rac3加入到组中

一些配置信息我们在上节已经说到了,包括复制配置和组复制配置

5.1 新建用户

rac3

mysql>SET SQL_LOG_BIN=0;

mysql> CREATE USER rpl@'%' IDENTIFIED BY 'rpl';

mysql> GRANT REPLICATION SLAVE ON *.* TO rpl@'%';

mysql> FLUSH PRIVILEGES;

mysql>SET SQL_LOG_BIN=1;

5.2 开启复制通道

rac3

mysql> CHANGE MASTER TO MASTER_USER='rpl',MASTER_PASSWORD='rpl' FOR CHANNEL 'group_replication_recovery';

5.3 开启组复制

rac3

START GROUP_REPLICATION;

1aeaeeb269509fd233b2a397ca70c85a.png

这时查询test数据库中的表发现t1表也已经同步过来了

6. MGR自启动设置

在上节中由于我们MGR还没部署,将group_replication_start_on_boot设置为off,在完成搭建后我们将其设置为on

三个服务器

group_replication_start_on_boot=on

7. 注意事项

MGR单主模式下只有一个主成员负责读写,其他成员都是只读,主成员为第一个加入组的服务器,即rac1

其他成员在加入组中read_only和super_read_only参数会自动设置为ON

如果组内所有服务器都关闭了,需要重新引导组

bfc3fe299aa05291d4c3f4a52801e9ad.png

8. 参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值