配置MYSQL组复制

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

前面一篇文章简要介绍了mysql组复制的工作流程、先决条件与限制条件,以及同传统的异步复制集半同步复制的特点进行对比。本文将介绍mysql组复制的具体配置过程。

一、环境介绍

操作系统版本:centos linux 7.2 64bit

Mysql版本:mysql-5.7.19-linux-glibc2.12-x86_64 

3台服务器hosts文件(其中vm2作为mysql组复制的第一台主机,通常第一台启动的为master)


# cat /etc/hosts

192.168.115.5   vm1

192.168.115.6   vm2

192.168.115.7   vm3


二、配置vm2的my.cnf文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server-id=1155
lower_case_table_names = 1
skip-name-resolve
innodb_file_per_table=1
gtid_mode = ON
enforce_gtid_consistency = ON
slave_parallel_workers=4
master_verify_checksum = 1
slave_sql_verify_checksum = 1
log-slave-updates=true
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
slave-parallel-type=LOGICAL_CLOCK
slave-preserve-commit-order=ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
binlog_checksum = NONE
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 = 'vm2:3306'
loose-group_replication_group_seeds ='vm1:3306,vm2:3306,vm3:3306'
loose-group_replication_bootstrap_group = off

各项配置参数的具体含义可参考mysql手册(mysql的安装部署本文省略,具体也可参考mysql手册):

https://dev.mysql.com/doc/refman/5.7/en/group-replication-configuring-instances.html

三、在vm2上创建复制账号及权限配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mysql> set SQL_LOG_BIN=0;
Query OK, 0 rows affected (0.01 sec)
 
mysql> create user repl@'%' identified by "123456";
Query OK, 0 rows affected (0.00 sec)
 
mysql> grant replication slave on *.* to repl@'%';
Query OK, 0 rows affected (0.00 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
mysql>  set SQL_LOG_BIN=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql>  change master to master_user='repl',master_password='123456' for channel 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (0.08 sec)
 
mysql> install PLUGIN group_replication SONAME 'group_replication.so';
Query OK, 0 rows affected (0.53 sec)

四、启动vm2上的group replication进程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
mysql> set global group_replication_bootstrap_group=ON;
Query OK, 0 rows affected (0.01 sec)
 
mysql> start group_replication;
Query OK, 0 rows affected (2.66 sec)
 
mysql> set global group_replication_bootstrap_group=OFF;
Query OK, 0 rows affected (0.00 sec)
 
mysql> select * from performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | 33025907-6d2d-11e7-8ce6-000c29e07281 | vm2         |        3306 | ONLINE       |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
1 row in set (0.00 sec)

五、按照VM2相同的方法配置VM3,注意my.cnf文件中的server-id需要修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
mysql> set SQL_LOG_BIN=0;
Query OK, 0 rows affected (0.00 sec)
 
mysql> create user repl@'%' identified by "123456";
Query OK, 0 rows affected (0.01 sec)
 
mysql> grant replication slave on *.* to repl@'%';
Query OK, 0 rows affected (0.00 sec)
 
mysql>  flush privileges;
Query OK, 0 rows affected (0.01 sec)
 
mysql>  set SQL_LOG_BIN=1;
Query OK, 0 rows affected (0.00 sec)
 
mysql> change master to master_user='repl',master_password='123456' for channel 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (0.05 sec)
 
mysql>  install PLUGIN group_replication SONAME 'group_replication.so';
Query OK, 0 rows affected (0.38 sec)
 
mysql>  set global group_replication_allow_local_disjoint_gtids_join=ON;
Query OK, 0 rows affected (0.00 sec)
 
mysql> start group_replication;
Query OK, 0 rows affected (7.89 sec)
 
mysql> select * from performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | 33025907-6d2d-11e7-8ce6-000c29e07281 | vm2         |        3306 | ONLINE       |
| group_replication_applier | 35678d62-6d2d-11e7-80a7-000c2909332c | vm3         |        3306 | ONLINE       |
| group_replication_applier | 8b643791-6d30-11e7-986a-000c29d53b31 | vm1         |        3306 | ONLINE       |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
3 rows in set (0.00 sec)

这里面需要注意的是后面加入组复制的vm3和vm1,需要配置group_replication_allow_local_disjoint_gtids_join参数为ON,据文档描述开启此参数的含义为假如当前的数据库上的事务在组复制中不存在,一样允许加入组复制。

wKioL1nfNV6x5TqkAACJp7E110Y791.png-wh_50

本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/1971816如需转载请自行联系原作者


ylw6006

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
30天前
|
存储 SQL 关系型数据库
创建并配置RDS实例
在阿里云上创建RDS实例涉及登录控制台、进入RDS管理页面、创建实例、选择数据库引擎和版本、配置实例规格与存储、设定网络与安全组、设置实例信息、确认订单并支付,最后初始化数据库。操作步骤可能因界面更新或数据库引擎不同略有差异。
18 1
|
1月前
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
726 0
|
2月前
|
存储 监控 关系型数据库
rds迁移前准备资源评估与配置
rds迁移前准备资源评估与配置
37 5
|
10天前
|
SQL 缓存 关系型数据库
mysql性能优化-慢查询分析、优化索引和配置
mysql性能优化-慢查询分析、优化索引和配置
76 0
|
16天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
25天前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
14 1
|
29天前
|
弹性计算 关系型数据库 MySQL
rds子网配置
在阿里云中配置RDS子网涉及五个关键步骤:1) 创建或选择VPC作为私有网络环境;2) 在VPC内创建子网并确保IP地址不重叠;3) 关联路由表和安全组以控制流量及访问权限;4) 创建RDS实例时指定VPC和子网;5) 确保ECS实例与RDS在同一VPC或配置相应跨VPC访问,并调整安全组规则。这样可保障RDS与其他资源的通信及网络性能。
17 6
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
195 0
|
1月前
|
DataWorks 关系型数据库 MySQL
DataWorks报错问题之dataworks配置mysql数据源报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
Oracle 关系型数据库 MySQL
Flink CDC产品常见问题之从EARLIEST_OFFSET启动就报错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。