首页 > 数据库 >Mysql group replication(MGR)

Mysql group replication(MGR)

时间:2023-07-16 21:32:45浏览次数:40  
标签:group MGR mysql replication Mysql 节点

一、MGR  

1、MGR的作用和特点  

1)MGR的作用  

 对Mysql数据库进行故障冗余

 保证数据库数据实时性和一致性

2)特点

 高一致性:保证数据实时同步

 高容错性:部署MGR不能低于三个节点,节点数量必须是单数

 可扩展性强:不停止复制组热添加和移除Mysql节点

 灵活性强:动态扩展和收缩

3)配置MGR注意事项  

 必须开启GTID复制

 数据库引擎必须是innodb

 必须在5.7.17数据库版本后使用

 MGR最多支持9个节点

2、MGR支持的模式  

1)单主模式  

 一个主Mysql多个从Mysql

 主Mysql写入数据从Mysql复制保证数据的完整性

2)多主模式  

 MGR组Mysql都是主节点

 任何一个节点数据发生改变其他节点同步复制

二、配置单主和单主复制

1、配置单主复制  

1)添加MGR组件

[root@centos01 ~]# mysql -uroot -ppwd@123 -e "install plugin group_replication soname 'group_replication.so';"

2)创建复制账户

[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> set sql_log_bin=0;
mysql> create user 'repl'@'%' identified by 'pwd@123';
mysql> create user 'repl'@'localhost' identified by 'pwd@123';
mysql> create user 'repl'@'127.0.0.1' identified by 'pwd@123';
mysql> grant replication slave,replication client on *.* to 'repl'@'%';
mysql> grant replication slave,replication client on *.* to 'repl'@'localhost';
mysql> grant replication slave,replication client on *.* to 'repl'@'127.0.0.1';
mysql> set sql_log_bin=1;

3)查询创建的用户

mysql> select host,user from mysql.user;

2、配置主Mysql节点设置为引导节点  

1)登录Mysql配置数据复制 

[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> change master to master_user='repl',master_password='pwd@123' for channel 'group_replication_recovery';

2)配置主Mysql为引导节点

mysql> set global group_replication_bootstrap_group=on;

3)启动复制组

mysql> start group_replication;

4)查看节点状态

mysql> select * from performance_schema.replication_group_members;

5)关闭引导节点等待从节点连接 

mysql> set global group_replication_bootstrap_group=off;

3、配置从节点加入MGR组  

1)登录创建复制

[root@centos02 ~]# mysql -uroot -ppwd@123
mysql> reset master;
mysql>change master to master_user='repl',master_password='pwd@123' for channel 'group_replication_recovery';

2)启动复制组功能

mysql> start group_replication;

3)将从节点设置为只读节点 

mysql> set global read_only=1;
mysql> set global super_read_only=1;

4、单主模式和多主模式切换

1)切换到单主模式

[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> select group_replication_switch_to_single_primary_mode();

2)查看配置的一主多从模式

mysql> select * from performance_schema.replication_group_members;

3)修改为多主模式 

mysql> select group_replication_switch_to_multi_primary_mode();

标签:group,MGR,mysql,replication,Mysql,节点
From: https://blog.51cto.com/u_16177021/6740250

相关文章

  • cpuset.cpus.effective: no such file or directory (修改 docker cgroup 版本的方法)
    要切换使用v1版cgroup,需要做如下配置: vim/etc/default/grub   GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=0" update-grubreboot  完美解决 ......
  • Stream - Collectors.groupingBy实现分组后,且每个分组也进行排序
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Stream-实现分组后,且每个分组也进行排序前言一、groupingBy高级用法二、先分组,再排序总结 前言之前记录过:stream的三个常用方式(toMap,groupingBy,findFirst)。这里继续记录下groupingBy的几个高......
  • 7DGroup性能&测试开发文章持续更新(2019/10/15)
    性能闲谈系列:浅谈window桌面GUI技术及图像渲染性能测试实践杂谈:性能测试的范围到底有多大?戏说CPU使用率-驳《CPU使用率度量指标是扯淡!》译文标题对性能测试评估分析优化市场的反思泛谈系统级跟踪和应用级跟踪性能测试分析优化该有的范围期待996ICU的条款尽早加入到开源协议中!性能基......
  • 分组查询时,select的字段是否一定要都在group by中
    分组查询时,select的字段是否一定要都在groupby中?分组查询关键字groupby通常和集合函数(MAX、MIN、COUNT、SUM、AVG)一起使用,它可以对一列或者多列结果集进行分组。例如要统计超市水果的种类,需要用count函数,要统计哪个水果价格最高,要用MAX()函数。一般情况下,我们在使用groupby的......
  • 解决启动dpdk时,报"VFIO group is not viable! Not all device in IOMMU group bound t
       问题如下图:    这个错误信息其实是linux内核的vfio驱动报出来的,主要原因是"在iommu分组中,不是所有的设备都被绑定到vfio驱动".所以,解决方案核心思想:将要使用的设备独立到一个iommu分组中。         步骤1:通过以下"list_iommu_group.sh"可以看......
  • sync.WaitGroup Add( ) 用法
    使用sync.WaitGroup来实现并发任务的同步。Done()通常在函数内使用deferwg.Done()调用。add()学习是我通常也放在函数内,今天我发现在函数内调用会出现问题,主进程会先执行,比如如下代码,会出现问题。packagemainimport( "fmt" "sync")varnintvarwgsync.WaitGroup......
  • MySQL之GROUP_CONCAT()
    MySQL的group_concat()函数可太好用了将作用是将属于同一组的列显示出来,所以和groupby一同使用,同一组的默认以逗号分隔显示基础语法:selectgroup_concat(列SEPARATOR',')fromtablenamegroupby列名SEPARATOR定义以什么分隔结果,可以不写,不写就是默认以逗号分隔; ......
  • error NU1803: 错误形式的警告: 正在通过 “HTTP” 源“http://apricot.com/repositor
    一、私有仓库错误(vs2022)错误信息errorNU1803:错误形式的警告:正在通过“HTTP”源“http://apricot.com/repository/nuget-group/”运行“restore”操作。将来的版本中将删除非HTTPS访问权限。请考虑迁移到“HTTPS”源。错误截图二、解决&处理打开Nuget配置%APP......
  • linq left join group by count组合统计,防止count()为null结果为1的错误。
    原生sqlselectcar.id,carnum,count(carplan.carid)astimeLenfromtab_carascarjointab_inComeTypeasincomeoncar.inComeTypeId=income.IdandinComeTypeId=1andstateCode=1andcarTypeId=1leftjointab_carPlanascarplanoncar.id=carplan.carIdandca......
  • 【差分 Trick】CF626F Group Projects
    模拟赛垫底哥来补题了。先排序,考虑到原来的弱智状态难以描述,我们可以这样写:\(f_{i,j,k}\)表示前\(i\)个,\(j\)段未闭合,目前的不协调值为\(k\)。然后喜提\(n^2\suma_i\)的时间复杂的。然后就是经典tricktime,这个可以看作很多线段。然后\(a_r-a_l=\suma_{i+......