mysql传统的主从复制模式主要有:异步和半同步复制,但是他们都有些缺陷,如数据一致性、运维成本高等问题,往往我们在设计高可用架构时,不能作为最优方案选择。mysql在5.7.17版本后,推出了组复制(mysql group replication,简称MGR)。
MGR 技术在保证数据强一致性基础上,可自动进行故障检测、自动切换,具备防脑裂机制,可进行多节点写入等特点,是mysql高可用技术发展的重点方向。
安装环境:
1、3台服务器操作系统为centos 7.5.1804,mysql版本为5.7.30。操作系统防火墙、内核参数、selinux、用户和组添加等省略,直接进行配置。
2、配置各主机名和ip地址对应关系,所有节点需配置;
[root@rac3 data]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.170.17 rac1
192.168.170.18 rac2
192.168.170.19 rac3
3、配置my.ini文件,3个节点除了server_id、loose-group_replication_local_address参数不一样外,其他的都可以保持一致。
节点1配置:
[mysqld]
datadir=/data1/mgr/data
basedir=/usr/local/mysql
port=3306
socket=/data1/mgr/mysql.sock
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
log_error=/data1/mgr/logs/error.log
log_bin=/data1/mgr/logs/mysql-bin
transaction_write_set_extraction=XXHASH64
###
max_connections=1024
wait_timeout=60
sort_buffer_size=2M
max_allowed_packet=32M
join_buffer_size=2M
innodb_buffer_pool_size=128M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_log_files_in_group=2
binlog_cache_size=2M
max_binlog_cache_size=8M
max_binlog_size=512M
expire_logs_days=7
slow_query_log=on
slow_query_log_file=/data1/mgr/logs/slow.log
###
loose-group_replication_group_name="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address="192.168.170.17:33060"
loose-group_replication_group_seeds="192.168.170.17:3

本文介绍了MySQL 5.7.17版本后的组复制(MGR)技术,强调其在保证数据强一致性和高可用性方面的优势。通过详细步骤展示了在3台CentOS服务器上配置MGR的全过程,包括设置服务器主机名、配置my.ini文件、初始化MySQL服务、加载group_replication插件、配置同步账户以及启动MGR服务。同时,文章提醒了在创建同步用户时需注意的日志记录问题和端口占用情况。
最低0.47元/天 解锁文章
1227





