mysql组复制

Mysql组复制
其详细介绍可参看:组复制官方文档翻译(组复制原理)

实验拓扑:
用三个数据库来进行组复制
mysql主从复制的其他模式可以参看我的博客 mysql主从复制(基于GTID的主从复制、并行复制、半同步复制)

NameHostIP
server1172.25.21.1
server2172.25.21.2
server3172.25.21.3

数据库进行初始化,并进行密码修改

初始化数据库后,进行密码的修改
这里写图片描述

对配置文件进行修改

以server1的配置文件为例

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW

transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "172.25.21.1:24901"
loose-group_replication_group_seeds= "172.25.21.1:24901,172.25.21.25:24901,172.25.21.3:24901"
loose-group_replication_bootstrap_group=off
loose-group_replication_ip_whitelist="172.25.21.1/24,172.25.21.2/24,172.25.21.3/24,127.0.0.1/8"    #  用户白名单
loose-group_replication_single_primary_mode=off    # 单成员模式关闭
loose-group_replication_update_everywhere_checks=on1 行指示 server 必须为每个事务收集写集合,并使用 XXHASH64 哈希算法将其编码为
散列。
第 2 行告知插件,正在加入或创建的组要命名为aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa”。
第 3 行指示插件在 server 启动时不自动启动组复制。
第 4 行告诉插件使用 IP 地址 本地主机,端口 24901 用于接受来自组中其他成
员的传入连接。
第5行 group_replication_local_address 配置的本地地址必须可供所有组成员访问

Server1配置文件:
这里写图片描述
Server2:
这里写图片描述
Server3:
这里写图片描述

进行配置具体配置

使用复制-从权限创建MySQL用户。这个过程可以在二进制日志中捕获,然后您可以依赖分布式恢复来复制用于创建用户的语句。或者,您可以禁用二进制日志记录,然后在每个成员上手动创建用户,例如,如果您希望避免将更改传播到其他服务器实例的话。要禁用二进制日志记录

 mysql> SET SQL_LOG_BIN=0;
创建授权用户

如果禁用了二进制日志记录,则在创建用户之后再次启用它

 mysql> SET SQL_LOG_BIN=1;

这里写图片描述

一旦配置了用户,使用CHANGE MASTER TO语句将服务器配置为在下一次需要从其他成员恢复状态时使用group_replication_recovery复制通道的给定凭证。发出以下命令,用创建用户时使用的值替换rpl_user和密码。

mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='Redhat_123' FOR CHANNEL 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (0.78 sec)

mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
Query OK, 0 rows affected (0.15 sec)

这里写图片描述

查看模块是否添加
 mysql> SHOW PLUGINS;
 +----------------------------+----------+--------------------+----------- -----------+---------+
 | Name                       | Status   | Type               |  Library              | License |
 +----------------------------+----------+--------------------+----------------------+---------+
 | binlog                     | ACTIVE   | STORAGE ENGINE     |  NULL                 | GPL    |
 ........省略........
 | group_replication          | ACTIVE   | GROUP REPLICATION  | group_replication.so | GPL     |
 +----------------------------+----------+--------------------+----------------------+---------+

这里写图片描述

启动组复制

这里写图片描述
START GROUP_REPLICATION 语句返回后,组就已启动了。 可以检查该组现在是否已创建并且其中已经有一个成员:
这里写图片描述

对数据库进行库的建立

这里写图片描述

在server2进行操作

这里写图片描述

进行与Server1同样的操作,不过不进行一下爱两步:

 SET GLOBAL group_replication_bootstrap_group=ON;
 SET GLOBAL group_replication_bootstrap_group=OFF;

这里写图片描述
启动组复制,并查看状态
这里写图片描述
查看数据库信息
这里写图片描述

server3

server3与server2的操作完全相同
初始化数据库
这里写图片描述
进行组复制配置
这里写图片描述
至此组复制环境搭建完成

进行测试,在server3中插入信息

这里写图片描述
在其他库进行查看
Server2中:
这里写图片描述
Server1中同样同步了
这里写图片描述
至此实验完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值