mysql mgr集群部署

一、前言

      mysql mgr集群是为了实现mysql高可用,分为单主集群和多主集群,单主集群只有一个主节点可写,节点发生故障时,自动进行主从的故障切换,多主集群所有节点都可写,当节点发生故障时,将故障节点剔除出集群

主机信息

nameipport
mysql0110.1.60.1213306、33061
mysql0210.1.60.1223306、33061
mysql0310.1.60.1233306、33061

二、部署(单主节点)

每个节点部署mysql服务

mysql官网找到mysql5.7版本yum包,使用wget命令下载

wget -i -c 

http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

安装mysql yum源

 yum -y install mysql57-community-release-el7-10.noarch.rpm

 更改mysql yum源配置,将需要安装得5.7版本的gpgchenck项改为0

执行yum安装mysql

 yum -y install mysql-community-server

启动mysql服务

systemctl start mysqld && systemctl enable mysqld

通过mysql日志文件查看初始登录密码

cat /var/log/mysqld.log |grep password

使用从日志中得到得密码登录数据库

 mysql -u root -p

修改默认密码

alter user 'root'@'localhost' identified by '新密码';

flush privileges;

编辑配置文件

vi /etc/my.cnf

[mysqld]datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.socksymbolic-links=0log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pidserver-id=1      #每个节点配置的id不能相同
gtid_mode=ON    #开启gtid
enforce_gtid_consistency=ON     #开启gtid的强一致性,mgr集群配置必须开启,用以保证事务的一致性
binlog_checksum=NONE    #禁用二进制事件校验log_bin=binlog         #开启binlog日志
log_slave_updates=ON   #开启级联复制
binlog_format=ROW      #以行的形式记录,mgr集群必须配置以行的形式记录
master_info_repository=TABLE   
relay_log_info_repository=TABLEtransaction_write_set_extraction=XXHASH64   #server必须为每个事务收集写集合,使用XXHASH64哈希算法将其编码为散列
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"   #创建组名UUID,自定义编辑
loose-group_replication_start_on_boot=off    #server启动时不自启组复制,为了避免每次启动自动引导具有相同名称的第二个组,所以设置为OFF
loose-group_replication_local_address="10.1.60.121:33061"   #配置当前节点mgr服务地址和端口,该端口为自定义的端口
loose-group_replication_group_seeds="10.1.60.121:33061,10.1.60.122:33061,10.1.60.123:33061"
#配置mgr集群所有节点               
loose-group_replication_bootstrap_group=off
report_host=10.1.60.121   #配置当前节点地址
report_port=3306        #配置mysql服务端口

重启mysql服务使配置生效

systemctl restart mysqld

各节点配置mgr插件,并设置同步账号

mysql -u root -p

安装mgr插件

INSTALL PLUGIN group_replication SONAME 'group_replication.so';

关闭binlog日志记录

set SQL_LOG_BIN=0;

创建mgr集群同步账号

create user mgr@'%' identified by '12345678';

设置账号权限

grant replication slave on *.* to mgr@'%';flush privileges;

开启binlog日志记录

set SQL_LOG_BIN=1;

设置同步账号

CHANGE MASTER TO MASTER_USER='mgr', MASTER_PASSWORD='12345678' FOR CHANNEL 'group_replication_recovery';

创建mgr集群

选一个主节点创建mgr集群,这里选用10.1.60.121为主节点

mysql -u root -p

配置后面加入集群的节点以该主节点为基准

SET GLOBAL group_replication_bootstrap_group=ON;

作为首个节点启动mgr集群

START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;

 查看mgr集群信息

SELECT * FROM performance_schema.replication_group_members;

其余两个节点执行以下命令加入mgr集群

START GROUP_REPLICATION;

查看mgr集群信息

 SELECT * FROM performance_schema.replication_group_members;

状态为online即正常 

查询mgr集群中,哪个节点为主节点

select variable_value from performance_schema.global_status where variable_name='group_replication_primary_member';

也可以通过查看是否为read_only确定主节点

show variables like '%read_only%';

 

至此mgr单主集群搭建完成,主节点可写,从节点可读,主节点发生故障后,会自动在从节点中选主

mgr集群节点发生故障,恢复后需要手动启动组复制功能才会从新加入集群中 

mysql -u root -p
START GROUP_REPLICATION;
SELECT * FROM performance_schema.replication_group_members;

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

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

相关文章

如何在iStoreOS软路由系统中安装cpolar实现公网远程本地电脑桌面

文章目录 简介一、配置远程桌面公网地址二、家中使用永久固定地址 访问公司电脑**具体操作方法是:** 简介 软路由是PC的硬件加上路由系统来实现路由器的功能,也可以说是使用软件达成路由功能的路由器。 使用软路由控制局域网内计算机的好处&#xff1a…

Python算法100例-1.8 冒泡排序

完整源代码项目地址,关注博主私信’源代码’后可获取 1.问题描述2.问题分析3.算法设计4.完整的程序5.问题拓展 1.问题描述 对N个整数(数据由键盘输入)进行升序排列。 2.问题分析 对于N个类型相同的数,…

【Node.js】path 模块进行路径处理

Node.js 执行 JS 代码时,代码中的路径都是以终端所在文件夹出发查找相对路径,而不是以我们认为的从代码本身出发,会遇到问题,所以在 Node.js 要执行的代码中,访问其他文件,建议使用绝对路径 实例&#xff1…

040 构造器详解

无参构造器 当一个类未定义任何构造器时,代码编译后会自动生成一个无参构造器,如果只需要无参构造器就可以直接省略定义。 public class Person {public Person(){}String name;int age; }public class Person {String name;int age; }有参构造器 有参…

自定义表单工作流的优势特点有啥?

低代码技术平台是提升办公效率的得力武器,在当今竞争激烈的社会中获得了很多中小企业的喜爱与支持。流辰信息是一家专业研发低代码技术平台的服务商,IBPS开发平台用于很多行业中,助力企业实现了办公流程化。自定义表单工作流的优势多、简单灵…

RSA之前端加密后端解密

RSA之前端加密后端解密 RSA加密解密方式有: (1)公钥加密,私钥解密; (2)私钥加密,公钥解密; 此文章中以下我使用的是前端公钥加密,后端私钥解密; …

【点云配准】【深度学习】Windows11下PCRNet代码Pytorch实现与源码讲解

【点云配准】【深度学习】Windows11下PCRNet代码Pytorch实现与源码讲解 提示:最近开始在【点云配准】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【点云配准】【深度学习】Windows11下PCRNet代码Pytorch实现与源码讲解前言PCRNet模型运行环境…

Linux内核解读

来自鹅厂架构师 作者:aurelianliu 工作过程中遇到的调度、内存、文件、网络等可以参考。 1.os运行态 X86架构,用户态运行在ring3,内核态运行在ring0,两个特权等级。 (1)内核、一些特权指令,例…

debug - 只要在内存中有显示相关的数据, 就会被CE找到

文章目录 debug - 只要在内存中有显示相关的实际数据, 就会被CE找到概述笔记demo实现demo运行效果用CE查找实际数据地址找到自己的调试点 - 方法1找到自己的调试点 - 方法2打补丁备注END debug - 只要在内存中有显示相关的实际数据, 就会被CE找到 概述 自己写了一个demo, 想验…

人工智能_PIP3安装使用国内镜像源_安装GIT_普通服务器CPU_安装清华开源人工智能AI大模型ChatGlm-6B_002---人工智能工作笔记0097

接着上一节来看,可以看到,这里 创建软连接以后 [root@localhost Python-3.10.8]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3 [root@localhost Python-3.10.8]# python3 -V Python 3.10.8 [root@localhost Python-3.10.8]# pwd /usr/local/Python-3.10.8 [root@…

Vue26 内置标签 v-text v-html

实例 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>v-text指令</title><!-- 引入Vue --><script type"text/javascript" src"../js/vue.js"></script></head><…

第一件事 什么是 Java 虚拟机 (JVM)

1、什么是虚拟机&#xff1f; - 这个其实是一个挺逗的事情&#xff0c;说白了&#xff0c;就是基于某个硬件架构&#xff0c;在这个硬件部署了一个操作系统&#xff0c;再构架一层虚拟的操作系统&#xff0c;这个新构架的操作系统就是虚拟机。 不知道的兄弟姐妹们&#xff0c;…

重学Java 18.学生管理系统项目

臣无祖母&#xff0c;无以至今日&#xff0c;祖母无臣&#xff0c;无以终余年 母孙二人&#xff0c;更相为命&#xff0c;是以区区不能废远 —— 陈情表.李密 —— 24.2.20 一、编写JavaBean public class Student {//学号private int id;//姓名private String name;//年龄pr…

Codeforces Round 925 (Div. 3)(A,B,C,D,E,F,G)

比赛链接 这场打的很顺&#xff0c;感觉难度和 div 4 差不多&#xff0c;不是很难。D题稍微考了考同余的性质&#xff0c;E题直接模拟过程即可&#xff0c;F题也可以暴力模拟或者拓扑排序&#xff0c;G题是个数学题&#xff0c;是个简单隔板法。A到F题都可以直接模拟就有点离谱…

「WinCC报警系统专题」简述“消息系统”

WinCC通过报警给操作员提供了有关过程故障和错误的信息。它们有助于尽早检测重要情况和避免停机时间。 一、消息系统 消息&#xff08;报警&#xff09;系统由组态和运行系统组件组成。 1、组态系统 报警记录编辑器&#xff08;如图1所示&#xff09;是报警系统的组态组件。报…

docker (九)-进阶篇-docker-compos最佳实践部署zabbix

一 部署docker环境 关闭防火墙、selinux、开启docker&#xff0c;并设置开机自启动 注意点&#xff1a;docker部署的时候&#xff0c;bip要指定&#xff0c;不然会导致虚拟机ip和容器ip冲突&#xff0c;ssh连不上虚拟机 部署请参考 docker &#xff08;二&#xff09;-yum…

为什么程序员不能一次性写好,需要不停改bug?

写程序不是一次性完成的原因有很多&#xff0c;其中包括了解不充分、需求变更、复杂性、人为因素等多个方面的原因。 需求不明确&#xff1a; 在项目一开始&#xff0c;对需求可能存在歧义或不完整的理解。有时候&#xff0c;业务需求会在开发过程中发生变化&#xff0c;导致…

Go应用性能分析实战

Go很适合用来开发高性能网络应用&#xff0c;但仍然需要借助有效的工具进行性能分析&#xff0c;优化代码逻辑。本文介绍了如何通过go test benchmark和pprof进行性能分析&#xff0c;从而实现最优的代码效能。原文: Profiling Go Applications in the Right Way with Examples…

【Vuforia+Unity】AR03-圆柱体物体识别

1.创建数据库模型 这个是让我们把生活中类似圆柱体和圆锥体的物体进行AR识别所选择的模型 Bottom Diameter:底部直径 Top Diameter:顶部直径 Side Length:圆柱侧面长度 请注意&#xff0c;您不必上传所有三个部分的图片&#xff0c;但您需要先为侧面曲面关联一个图像&#…

工具分享:在线键盘测试工具

在数字化时代&#xff0c;键盘作为我们与计算机交互的重要媒介之一&#xff0c;其性能和稳定性直接影响到我们的工作效率和使用体验。为了确保键盘的每个按键都能正常工作&#xff0c;并帮助用户检测潜在的延迟、连点等问题&#xff0c;一款优质的在线键盘测试工具显得尤为重要…