安装mysql的MGR集群

news2024/11/18 19:42:06

说明
1、 mysql数据库主从宕机,会影响到正常业务访问,并且要手动进行切换。
2、 MHA高可用搭建复杂,代码已停止更新。
3、 MGR集群搭建方便, master故障会自动进行切换,不影响业务正常访问。

一、环境准备

1、主机说明
IP地址主机名端口操作系统数据库版本
172.16.1.20db013306centos7.95.7.40
172.16.1.21db023306centos7.95.7.40
172.16.1.22db033306centos7.95.7.40

说明:数据库版本可以根据业务场景选择即可。

2、修改hosts文件
cat >> /etc/hosts << end
172.16.2.20 db01 
172.16.2.21 db02 
172.16.2.22 db03
end

[root@db03 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.2.20 db01 
172.16.2.21 db02 
172.16.2.22 db03
3、关闭防火漆
1、关闭selinux
cp -av /etc/selinux/config /etc/selinux/config.bak 
setenforce 0
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

2、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld 
systemctl stop postfix
systemctl disable postfix
4、安装mysql(略)

二、安装MGR集群

1、配置MGR参数
一、修改my.cnf文件
1、172.16.1.20
binlog_checksum=NONE
transaction_write_set_extraction=XXHASH64 
loose-group_replication_group_name    ="6c0d7856-1811-11ef-8c2d-000c29400c69"           
loose-group_replication_start_on_boot =off                     
loose-group_replication_local_address ="172.16.2.20:24301"                
loose-group_replication_group_seeds   ="172.16.2.20:24301,172.16.2.21:24301,172.16.2.22:24301"
loose-group_replication_bootstrap_group =off     
loose-group-replication-ip-whitelist="172.16.2.20,172.16.2.21,172.16.2.22"

2、172.16.1.21
binlog_checksum=NONE
transaction_write_set_extraction=XXHASH64 
loose-group_replication_group_name    ="6c0d7856-1811-11ef-8c2d-000c29400c69"           
loose-group_replication_start_on_boot =off                     
loose-group_replication_local_address ="172.16.2.21:24301"                
loose-group_replication_group_seeds   ="172.16.2.20:24301,172.16.2.21:24301,172.16.2.22:24301"
loose-group_replication_bootstrap_group =off     
loose-group-replication-ip-whitelist="172.16.2.20,172.16.2.21,172.16.2.22"

3、172.16.1.22
binlog_checksum=NONE
transaction_write_set_extraction=XXHASH64 
loose-group_replication_group_name    ="6c0d7856-1811-11ef-8c2d-000c29400c69"           
loose-group_replication_start_on_boot =off                     
loose-group_replication_local_address ="172.16.2.22:24301"                
loose-group_replication_group_seeds   ="172.16.2.20:24301,172.16.2.21:24301,172.16.2.22:24301"
loose-group_replication_bootstrap_group =off     
loose-group-replication-ip-whitelist="172.16.2.20,172.16.2.21,172.16.2.22"
loose-group_replication_single_primary_mode = true
loose-group_replication_enforce_update_everywhere_checks = false
二、参数说明
#定义用户事务期间哈希写入提取的算法,组复制模式下必须设置为XXHASH64
transaction_write_set_extraction=XXHASH64

#确定组复制恢复时是否应该应用SSL,通常设置为"开",但默认设置为"关"
loose-group_replication_recovery_use_ssl=ON

#该服务器的实例所在复制组的名称,必须是有效UUID,所有节点必须相同
loose-group_replication_group_name="6c0d7856-1811-11ef-8c2d-000c29400c69"

#确定服务器是否应该在服务器启动期间启动组复制
loose-group_replication_start_on_boot=OFF

#为复制组中其它成员提供网络地址,此处端口号避免使用3306,否则会冲突
loose-group_replication_local_address= "172.16.2.20:24301"

#用于建立新成员到组的连接组成员列表,该列表指定为由分隔号间隔的组成员网络地址列表
loose-group_replication_group_seeds= "172.16.2.20:24301,172.16.2.21:24301,172.16.2.22:24301"

#配置此服务器为引导组,该选项必须仅在一台服务器上设置,且仅当第一次启动组或重新启动整个组时,成功引导组启动后,将此选项设置为关闭
loose-group_replication_bootstrap_group=OFF

#使用mysql_native_password密码策略,防止navicat连不上mysql8
default_authentication_plugin=mysql_native_password

#设置mysql插件所在目录,因为MGR基于插件,所以必须设置插件路径
plugin_dir=/usr/lib64/mysql/plugin

#此参数决定primary节点到secondary节点的请求是否基于RSA密匙对的密码交换所需的公匙
loose-group_replication_recovery_get_public_key=on

2、重启服务mysql
1、重启服务mysql(三台执行) 
service mysqld restart
3、创建复制用户
1、创建复制用户repl  
set sql_log_bin=0;
create user 'repl'@'%' identified by 'repl';  
grant replication slave on *.* to 'repl'@'%';
flush privileges;  
set sql_log_bin=1;

注意:三台服务器都需要执行,否则后期slave添加MGR集群报错RECOVERING。
4、安装复制插件
1、安装组复制插件
INSTALL PLUGIN group_replication SONAME 'group_replication.so'; 
show plugins;

说明:
1、三台服务器都要执行。
2、如果查看group_replication状态是:ACTIVE,安装成功。

在这里插入图片描述

5、启动并引导复制
1、主库master执行
set global group_replication_bootstrap_group=on;
start group_replication;
select * from performance_schema.replication_group_members;
set global group_replication_bootstrap_group=off;

2、从库slave执行 
reset master;
change master to master_user="repl",master_password="Repl+2024" for channel 'group_replication_recovery';
start group_replication;

3、查询MGR集群
select * from performance_schema.replication_group_members;

在这里插入图片描述

三、MGR集群验证结果

1、创建数据库(主库master执行) 
create database shop01;
use shop01;
create table mgr(id int,name varchar(30),PRIMARY KEY (`id`)); 
insert into mgr select 1,'aa';
select * from mgr; flush privileges;

说明:
1、主库master创建数据库,从库slave能查询到对应数据。
2、从库slave无法创建数据库,只能查询数据。
3、MGR集群搭建完成,结果如下图所示:

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1710505.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安全测试跟自动化测试,哪个方向发展好一些?

引言&#xff1a; 在当今高度互联的数字化时代&#xff0c;软件的安全性和质量成为企业和用户关注的焦点。安全测试和自动化测试作为软件测试领域的两个重要分支&#xff0c;为确保软件系统的稳定性和可靠性发挥着重要作用。本文将深入探讨安全测试和自动化测试的发展方向&…

shell中编写备份数据库脚本(使用mysqldump工具)

mysqldump备份 目录 mysqldump备份 分库备份 分表备份 利用自带工具mysqldump 实现数据库分库分表备份。 要想知道需要备份哪些数据库&#xff0c;就得先列出来 mysql -uroot -pOpenlab123! -N -e show databases | egrep -on_schema|mysql|performance_schema|sys" …

使用BigDecimal定义的实体类字段返回给前台的是字符串类型,如何返回数字类型

目录 前言&#xff1a; 问题现象&#xff1a; 解决方法&#xff1a; 效果&#xff1a; 前言&#xff1a; 做项目的时候数据字段通常定义为bigdecimal类型&#xff0c;方便进行运算&#xff0c;但是发现接口调用后返回给前台的是字符串&#xff0c;这篇博文讲的是如何将定义…

什么是领导力?如何提高领导能力?

什么是领导能力&#xff1f; 简单来说&#xff0c;领导力就是通过自身的影响力&#xff0c;让他人服从自己的想法行动&#xff0c;在一个组织和集体中&#xff0c;领导力的作用十分重要。对于一个公司的管理层来说&#xff0c;领导能力是不可或缺的一部分&#xff0c;公司存在…

共筑信创新生态:DolphinDB 与移动云 BC-Linux 完成兼容互认

近日&#xff0c;DolphinDB 数据库软件 V2.0 与中国移动通信集团公司的移动云天元操作系统 BC-Linux 完成兼容性适配认证。经过双方共同严格测试&#xff0c;DolphinDB 性能及稳定性等各项指标表现优异&#xff0c;满足功能及兼容性测试要求。 此次 DolphinDB 成功通过移动云 B…

华为云Astro Zero低代码平台案例:小、轻、快、准助力销售作战数字化经营

客户背景&#xff1a; 随着业务的不断扩展&#xff0c;华为云某一线作战团队发现&#xff0c;原本基于线上Excel的项目跟踪方式面临新的挑战&#xff1a;多区域、多场景下的业务管理越来越复杂&#xff0c;项目管道存在多种不可控因素&#xff0c;客户关系、进展跟踪同步不及时…

骨折检测数据集VOC+YOLO格式717张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;717 标注数量(xml文件个数)&#xff1a;717 标注数量(txt文件个数)&#xff1a;717 标注类别…

ML307R OpenCPU DEMO_SDK环境搭建

一、工程目录 二、环境搭建 三、编译 四、下载 五、添加自定义文件打印 hello 一、工程目录 OpenCPU SDK代码目录结构,如下图所示: | 名称 | 描述 | | ---------------- | --------------------------| | custom | 用户代码目录…

理解Vue 3响应式系统原理

title: 理解Vue 3响应式系统原理 date: 2024/5/28 15:44:47 updated: 2024/5/28 15:44:47 categories: 前端开发 tags: Vue3.xTypeScriptSFC优化Composition-APIRef&Reactive性能提升响应式原理 第一章&#xff1a;Vue 3简介 1.1 Vue 3概述 Vue 3的诞生背景&#xff1…

NineData 联合创始人周振兴将参加开源数据库技术沙龙,并和 PolarDB 开源社区一起去娃哈哈带来主题分享!

5月31日&#xff08;周五&#xff09;&#xff0c;PolarDB 开源社区将联合娃哈哈集团共同举办开源数据库技术沙龙&#xff01;NineData 联合创始人周振兴受邀参加&#xff0c;并将分享《NineData&#xff0c;Any to Any 数据复制之路》的技术分享。 本次活动汇聚了 PolarDB 产品…

UDP网络聊天室(更)

服务器端 #include <header.h> typedef struct node {char name[20];struct sockaddr_in cli_addr;struct node *next; }node,*node_p; typedef struct msg {char type;char name[20];char text[128]; }msg; node_p create_link() {node_p H(node_p)malloc(sizeof(node)…

一文了解知识中台:是什么、作用、如何搭建

在当今信息繁杂的时代&#xff0c;知识对于企业来说犹如宝藏般重要&#xff0c;而知识中台就是宝藏山的藏宝图。关于知识中台&#xff0c;你可能会感到好奇&#xff0c;它究竟是什么&#xff0c;有什么作用&#xff0c;又该如何搭建知识中台呢&#xff1f;接下来就让LookLook同…

c-lodop 打印面单 内容串页

场景&#xff1a;使用c-lodop程序调取打印机连续打印多张快递单时&#xff0c;上页内容&#xff0c;打到了下一页了 问题原因&#xff1a; 由于是将所有面单内容放到了一个页面&#xff0c;c-lodop 在打印时&#xff0c;发现一页放不下&#xff0c;会自动分割成多页 页面元素…

5.命令行提示符

一、打开终端&#xff08;有以下几种方式&#xff09; 1.在搜索框输入 terminal 2.命令 &#xff08;1&#xff09;ctrlaltt打开新的终端 &#xff08;2&#xff09;ctrlshiftt&#xff1a;在已经打开终端的基础内&#xff0c;新打开一个同路径的终端。 &#xff08;3&#xf…

【代码随想录】面试常考类型之动态规划01背包

前言 更详细的在大佬的代码随想录 (programmercarl.com) 本系列仅是简洁版笔记&#xff0c;为了之后方便观看 不同的二叉搜索树 96. 不同的二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 通过举例子发现重叠子问题 代码很简单&#xff0c;主要是思路问题&#xff0…

【移动云】主机ECS搭建项目——具体步骤教程

目录 一、什么是移动云 二、移动云有什么优势 三、移动云使用 1.注册账号 2.云主机ECS创建 3.管理云主机 4.连接配置云主机 5.搭建服务器提示与建议 四、使用感受 一、什么是移动云 移动云是中国领先的云服务品牌之一&#xff0c;它以强大的资源优势、技术实力和品牌价…

R语言lavaan结构方程模型(SEM)

结构方程模型&#xff08;Sructural Equation Modeling&#xff0c;SEM&#xff09;是分析系统内变量间的相互关系的利器&#xff0c;可通过图形化方式清晰展示系统中多变量因果关系网&#xff0c;具有强大的数据分析功能和广泛的适用性&#xff0c;是近年来生态、进化、环境、…

图表控件LightningChart JS v5.2正式发布 - 全新的开发体验

LightningChart JS是Web上性能特高的图表库&#xff0c;具有出色的执行性能 - 使用高数据速率同时监控数十个数据源。 GPU加速和WebGL渲染确保您的设备的图形处理器得到有效利用&#xff0c;从而实现高刷新率和流畅的动画&#xff0c;常用于贸易&#xff0c;工程&#xff0c;航…

期货学习笔记-斐波那契学习1

斐波那契数列介绍 斐波那契数列是1、1、2、3、5、8、13、21、34、55、89…据说这是数学家莱昂纳多 斐波那契研究兔子繁殖时发现的一个神奇数列&#xff0c;似乎大自然在按照这个数列进行演化&#xff0c;一个斐波那契数字是由该数列相邻的前两个数字相加得到的 在斐波那契交易…

银行从业资格证初级计算题公式

单利本息和&#xff08;利率固定&#xff0c;利息不叠加计算求和&#xff0c;常用于定期存款&#xff09; 复利本息和&#xff08;利率固定&#xff0c;利率与利息本金叠加计算求和&#xff0c;常用于某段范围内进行投资&#xff09; 复利利率&#xff08;计算利率不用涉及本金…