MySQL MGR 集群新增节点
前言
服务器规划现状(CentOS7.x)
| IP地址 | 主机名 | 部署角色 |
|---|---|---|
| 192.168.x.101 | mysql01 | mysql |
| 192.168.x.102 | mysql02 | mysql |
| 192.168.x.103 | mysql03 | mysql |
| 192.168.x.104 | proxysql01 | proxysql、keepalived |
| 192.168.x.105 | proxysql02 | proxysql、keepalived |
新增服务器IP:192.168.x.106 主机名:mysql04 部署角色:mysql
新增后服务器规划(CentOS7.x)
| IP地址 | 主机名 | 部署角色 |
|---|---|---|
| 192.168.x.101 | mysql01 | mysql |
| 192.168.x.102 | mysql02 | mysql |
| 192.168.x.103 | mysql03 | mysql |
| 192.168.x.106 | mysql04 | mysql |
| 192.168.x.104 | proxysql01 | proxysql、keepalived |
| 192.168.x.105 | proxysql02 | proxysql、keepalived |
将安装包 mysql_cluster_ha_pack.zip 上传至新增服务器,并解压(需要包请私我)。
上传位置 /root/
一、基础配置
1.1 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
1.2 关闭selinux
# 获取selinux状态
getenforce
# 临时关闭
setenforce 0
# 永久关闭需要重启
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
1.3 修改主机名
# 临时修改
hostnamectl --transient set-hostname xxxx
# 永久修改需要重启 --static可以省略
hostnamectl --static set-hostname xxxx
1.4 修改hosts
vim /etc/hosts
192.168.x.101 mysql01
192.168.x.102 mysql02
192.168.x.103 mysql03
192.168.x.106 mysql04
192.168.x.104 proxysql01
192.168.x.105 proxysql02
一、新增读节点
1.1 安装MySQL
cd /root/mysql_cluster_ha_pack/mysql
mv mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar /root
# 执行 mysql_auto_install.sh 前请确认 /opt/module/mysql 目录不存在
sh mysql_auto_install.sh
# 提示输入 root 用户密码
(Default password: root):xxxxxx
1.2 配置MySQL
新节点确保server id和其他节点不一致
vim /etc/my.cnf
# 追加下面内容
server-id=4
gtid_mode=ON
enforce_gtid_consistency=ON
log-bin=binlog
binlog_checksum=NONE
binlog_format=ROW
transaction_write_set_extraction=XXHASH64
loose-group_replication_recovery_use_ssl=ON
loose-group_replication_group_name="bbbbbbbb-bbbb-cccc-dddd-eeeeeeeeeeee"
loose-group_replication_start_on_boot=OFF
loose-group_replication_local_address="mysql04:24901"
loose-group_replication_group_seeds="mysql01:24901,mysql02:24901,mysql03:24901,mysql04:24901"
loose-group_replication_bootstrap_group=OFF
master_info_repository=TABLE
relay_log_info_repository=TABLE
log_slave_updates=ON
max_connections=2000
其中 group_replication_group_seeds 需要在所有节点增加新加入节点的IP。
# 其他节点执行
sed -i 's#group_replication_group_seeds=\"mysql01:24901,mysql02:24901,mysql03:24901\"#group_replication_group_seeds=\"mysql01:24901,mysql02:24901,mysql03:24901,mysql04:24901\"#' /etc/my.cnf
# 进入mysql命令行执行
set global group_replication_group_seeds="mysql01:24901,mysql02:24901,mysql03:24901,mysql04:24901"
1.3 初始化MySQl
-
创建用户
-- 主从复制用户 CREATE USER rpl_user@'%' IDENTIFIED BY 'rpl202302'; GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%'; -- Proxysql监控用户 CREATE USER 'monitor'@'%' IDENTIFIED BY "monitor@2023"; CREATE USER 'proxysql'@'%' IDENTIFIED BY "proxysql@2023"; GRANT ALL PRIVILEGES ON *.* TO 'monitor'@'%'; GRANT ALL PRIVILEGES ON *.* TO 'proxysql'@'%'; FLUSH PRIVILEGES; -
创建视图
USE sys; SOURCE /root/mysql_cluster_ha_pack/proxysql/addition_to_sys.sql -
安装插件
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
1.4 加入 MGR 集群
-
导出数据
# 在 mysql03 上执行 mysqldump 导出用户数据 mysqldump -uroot -p123456 --single-transaction --master-data=2 -B dbname > /root/dbname.sql# 将数据复制到新节点mysql04上 scp /root/dbname.sql @mysql04:/root -
导入数据
-- 在 mysql04 上执行导入 RESET MASTER; source /root/dbname.sql -
加入集群(mysql 命令行)
-- 加入 MGR 集群 CHANGE MASTER TO MASTER_USER="rpl_user", MASTER_PASSWORD="rpl202302" FOR CHANNEL 'group_replication_recovery';-- 启动组 START GROUP_REPLICATION;
1.5 查询节点
最后检查是否加入成功
-- 所有节点执行
SELECT * FROM performance_schema.replication_group_members;-- 查询是否为只读节点
SELECT * FROM sys.gr_member_routing_candidate_status;
相关文章:
MySQL MGR 集群新增节点
前言 服务器规划现状(CentOS7.x) IP地址主机名部署角色192.168.x.101mysql01mysql192.168.x.102mysql02mysql192.168.x.103mysql03mysql192.168.x.104proxysql01proxysql、keepalived192.168.x.105proxysql02proxysql、keepalived 新增服务器IP&#x…...
【单目标优化算法】蜣螂优化算法(Dung beetle optimizer,DBO)(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【C++】类和对象入门必知
面向过程和面向对象的初步认识类的引入类的定义类的访问限定符封装类的作用域类的实例化类对象模型this指针C语言和C实现Stack的对比面向过程和面向对象的初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解…...
day38 动态规划 | 509、斐波那契数 70、爬楼梯 746、使用最小花费爬楼梯
题目 509、斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),其…...
2023年备考软考必须知道的6件事
不知不觉,距离2023年上半年软考也只有不到100天的时间了,报名入口也将在3月13日正式开通,你是正在犹豫是否参加考试? 还是已经开始着手准备复习? 关于软考考试你还有哪些疑问? 2023年备考软考必须知道的6件事,建议收藏…...
GLOG如何控制输出的小数点位数
1 问题 在小白的蹩脚翻译演绎型博文《GLOG从入门到入门》中,有位热心读者提问说:在保存日志时,浮点型变量的小数位数如何设置? 首先感谢这位“嘻嘻哈哈的地球人”赏光阅读了小白这不太通顺的博客文章,并提出了一个很…...
2022年全国职业院校技能大赛(中职组)网络安全竞赛试题A(6)
目录 模块A 基础设施设置与安全加固 一、项目和任务描述: 二、服务器环境说明 三、具体任务(每个任务得分以电子答题卡为准) A-1任务一:登录安全加固(Windows) 1.密码策略 a.密码策略必须同时满足大小…...
Safety-Gym环境配置与安
官网: https://github.com/openai/safety-gym https://github.com/openai/safety-starter-agents 一、安装依赖环境配置 建议使用python 3.7及以下环境,因为官方的safety-rl是基于tensorflow1.13.1实现,而tensorflow1.13.1只能支持python…...
3月再不跳槽,就晚了
从时间节点上来看,3月、4月是每年跳槽的黄金季! 以 BAT 为代表的互联网大厂,无论是薪资待遇、还是平台和福利,都一直是求职者眼中的香饽饽,“大厂经历” 在国内就业环境中无异于一块金子招牌。在这金三银四的时间里&a…...
HTTP cookie格式与约束
cookie是前端编程当中经常要使用到的概念,我们可以使用cookie利用浏览器来存放用户的状态信息保存用户做了一些什么事情。session是服务器端维护的状态。session又是如何和cookie关联起来。后面介绍cookie和session的使用。Cookie 是什么?RFC6265, HTTP …...
docker基础
docker基础 docker概述 docker的出现?docker解决思想docker历史docker链接docker能干什么?开发-运维 docker安装 镜像(image)容器(container)仓库(repository)底层原理 docker命令 帮助命令镜像命令 docker-images查看所有本地主机上的镜像docker-searc…...
【微信小程序】--JSON 配置文件作用(三)
💌 所属专栏:【微信小程序开发教程】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…...
EDA-课设
EDA-课程设计-电子闹钟 一、实验目的 1.掌握多层电路在 QuartusII 集成开发环境中的实现; 2.熟练掌握基于 QuartusII 集成开发环境的组合逻辑电路设计流程; 3.掌握基于 QuartusII 集成开发环境的时序逻辑电路设计流程; 4.理解有限状态机设计…...
C/C++每日一练(20230222)
目录 1. 部分复制字符串(★) 2. 按字典顺序排列问题(★★) 3. 地下城游戏(★★★) 附录 动态规划 1. 部分复制字符串 将字符串2小写字母复制到字符串1:编写程序,输入字符串s2,将其中所有小写字母复制到字符串数组strl中。例如:aal1bb22cc33de4AA55…...
Java API 文档搜索引擎
1. 认识搜索引擎:在搜狗搜索的搜索结果页中, 包含了若干条结果, 每一个结果包含了图标, 标题, 描述, 展示URL等搜索引擎的本质:输入一个查询词, 得到若干个搜索结果, 每个搜索结果包含了标题, 描述, 展示URL和点击URL2. 搜索引擎思路:2.1 搜索的核心思路:当前我们有很多的网页(…...
2023美赛C题Wordle二三问分布预测和难度分类预测
文章目录前言题目介绍人数分布预测首先建立字母词典,加上时间特征数据预处理训练和预测函数保存模型函数位置编码模型及其参数设置模型训练以及训练曲线可视化预测人数分布难度分类预测总结前言 2023美赛选了C题,应该很多人会选,一看就好做&…...
gdb的简单练习
题目来自《ctf安全竞赛入门》1.用vim写代码vim gdb.c#include "stdio.h" #include "stdlib.h" void main() {int i 100;int j 101;if (i j){printf("bingooooooooo.");system("/bin/sh");}elseprintf("error............&quo…...
如何使用python AI快速比对两张人脸图像?
本篇文章的代码块的实现主要是为了能够快速的通过python第三方非标准库对比出两张人脸是否一样。 实现过程比较简单,但是第三方python依赖的安装过程较为曲折,下面是通过实践对比总结出来的能够支持的几个版本,避免大家踩坑。 python版本&a…...
(2)C#传智:变量基础(第二天)
一、注释符 不写注释是流氓,名字瞎起是扯蛋。 注释作用:解释与注销 命名: 以字母、_、开头,里面只能有_与特殊符,其它不得出现如%*&^等。 不能与关键字重复。区分大小写,Num…...
02-mysql高级-
文章目录mysql高级1,约束1.1 概念1.2 分类1.3 非空约束1.4 唯一约束1.5 主键约束1.6 默认约束1.7 约束练习1.8 外键约束1.8.1 概述1.8.2 语法1.8.3 练习2,数据库设计2.1 数据库设计简介2.2 表关系(一对多)mysql高级 今日目标 掌握约束的使用 掌握表关系…...
2026年降AI工具会不会被知网检测到深度解读:使用降AI工具算学术不端吗免费完整分析
2026年降AI工具会不会被知网检测到深度解读:使用降AI工具算学术不端吗免费完整分析 关于降AI工具被知网检测到解读,我整理了几个核心问题,逐一分析。 实战方案先给出来:应对AIGC检测最有效的是专业工具深层文本重构,…...
iOS HTTPS抓包全链路指南:从Charles配置到SSL Pinning绕过
1. 为什么iOS HTTPS抓包比安卓难得多?——从SSL Pinning到系统证书信任链的硬门槛很多人第一次在Mac上打开Charles,连上iPhone,点开App发现一片空白:没有请求、没有响应、全是unknown。不是Charles坏了,也不是手机没连…...
机器学习赋能银河系考古:CatBoost模型高精度预测恒星年龄
1. 项目概述:用机器学习为银河系“测龄”在银河系考古学这个领域,我们就像是在研究一部没有文字记载的古老家族史。恒星,作为这部历史书中的“化石”,它们的年龄是解读银河系过去130亿年里如何诞生、成长和演化的最关键线索。然而…...
如何从零开始构建AI社会模拟:AgentSociety终极指南
如何从零开始构建AI社会模拟:AgentSociety终极指南 【免费下载链接】agentsociety AgentSociety 2 is a modern, LLM-native agent simulation platform designed for social science research and experimental design. It provides a flexible framework for crea…...
JMeter接口功能测试实战:从契约解码到全链路断言
1. 这不是“点点点”的接口测试,而是用JMeter把业务逻辑钉在验证线上 很多人第一次打开JMeter,看到那个树形结构、一堆监听器和配置元件,下意识就把它当成“高级版Postman”——填个URL、加几个参数、点“启动”,看绿色小三角跑起…...
Redis 缓存实战案例与技术详解
Redis 缓存实战案例与技术详解 1. Redis 简介 Redis 是一种开源的内存数据存储,常用于缓存和消息队列。 2. 配置优化 使用 LRU 淘汰策略配置数据持久化功能 3. 实战案例 案例一:电商秒杀系统 架构:前端系统 Redis 持久化缓存特点:…...
CentOS 7服务器管理员的福音:手把手配置fbterm终端,实现中英文无缝切换
CentOS 7终端双语解决方案:fbterm配置全指南与实战技巧对于长期工作在命令行界面的系统管理员来说,中英文环境切换是个高频痛点。英文系统能确保软件兼容性和命令执行稳定性,但面对中文日志、文档时又需要可靠的显示支持。这种矛盾在CentOS 7…...
贝叶斯网络中条件独立性的判断 CS188 Note13 学习笔记
更好的阅读体验 D-Separation D-separation 是贝叶斯网络中的一个概念,用于通过图结构DAG随机变量之间的条件独立性 首先需要回顾一下的是:在图中,只要给定了某个节点的所有父节点,那么该节点就与其所有祖先节点在逻辑上是相互独…...
机器学习原子间势与连续介质模型在柔性InSe扭转双层原子重构研究中的应用
1. 项目概述:当柔性二维材料遇上扭转角在二维材料的世界里,一个简单的“扭转”操作,往往能打开一扇通往新奇物理现象的大门。从魔角石墨烯中发现的超导和关联绝缘态,到过渡金属硫族化合物(TMDs)中的莫尔激子…...
Kubernetes事件驱动架构设计:构建响应式微服务系统
Kubernetes事件驱动架构设计:构建响应式微服务系统 一、事件驱动架构概述 事件驱动架构(EDA) 是一种设计模式,其中系统的行为由事件触发。在Kubernetes环境中,事件驱动架构可以实现松耦合、高可扩展的微服务系统。 …...
