当前位置: 首页 > news >正文

Lnmp架构之mysql数据库实战2

4、mysql组复制集群

一主多从的请求通常是读的请求高于写 ,但是如果写的请求很高,要求每个节点都可以进行读写,这时分布式必须通过(多组模式)集群的方式进行横向扩容。

组复制对节点的数据一致性要求非常高,因此要对所有的节点重新进行初始化:

编辑配置文件,根据实际情况修改主机名和网段

在server2上

只修改id和主机名

在server3上

根据实际情况修改id和主机名

在server1上查看组复制中的成员

测试:所有节点都可以写入数据

在server1上

在server2上

在server3上

5、mysql读写分离

延迟复制
如果在master端误操作,可以在slave端进行数据恢复,只需要停掉sql线程;
延迟只是延迟了sql ,IO已经复制过来了 ,数据已经在中继日志里保存起来了,只不过sql没有进行回放。

路由类似于代理 ,此实验组复制集群有三个节点 当外部应用在连接这个集群的时候,如果只连接其中一个节点,如果这个节点挂了,所以就得把它负载到其他节点,mysql 路由器 负责负载后端的节点。

在server4上

routing_strategy= round-robin  第一个访问11,第二个访问12,第三个访问13

routing_strategy=first-available 第一个可用的话就不会后面的,当第一个挂掉之后,才会到后面去

在mysql集群中创建远程测试用户

因为组复制集群,所以server2,server3上也会同步创建远程测试用户

在server1上

在server1,2,3上分别安装软件

7001端口是只读权限,顺序是11,12,13

当在server4上进行第一次执行时

server1与server4建立连接

在server4上进行第二次执行时

server1会与server4断开连接,server2与server4建立连接

7002端口为读写权限,调度列表顺序为13,12,11

在server4上第一次执行

与server3建立连接

当挂掉server3时

在server4上进行第二次执行则会与server2建立连接

6、mysql高可用架构

重新创建一主两从集群,在master端关闭mysql服务 /etc/init.d/mysqld stop ,

删除mysql文件,修改主配置文件重新初始化

master端重新初始化并建立用户

在slave端同样重新进行初始化(其他节点以此类推)

测试

在master端

在slave端

server2

server3

一主两从架构完成,进行MHA部署

做一个管理端在server4上

在server4上安装管理软件

管理端配置ssh免密传输,免密连接所有被控节点

复制客户端软件

在server1,sever2,server3上安装客户端软件

工具包

MHA配置


注释需要删除

每个节点上也必须要有免密连接,检测各节点的ssh免密连接

在master端设置mysql管理员权限,slave节点自动同步

检测主从复制集群状态

实验环境搭建完成。

7、mysql高可用切换

(1)手动切换

master正常时,12会接管11成为master,原始的master会变成新的slave

检测(11和13都指向的master是12)

当停掉server2这个master,slave就无法进行连接

在管理端

11重新变成master,快速变成了一个一主一从的架构

12如何恢复成slave

需要手动修复,重新加入主从集群

(2)自动切换(主从集群正常,一主两从)

故障切换后会生成lock文件,需要手动删除

此时,停掉server1上的mysql

自动切换成功,在13上可查看

修复11,在11上打开服务

此时,又构成了一主两从架构,12是master,11,13是slave

最后,删除管理端因为故障切换生成的的lock文件,以避免影响后面的操作


加入故障切换和在线切换脚本并对其做出相应的修改

测试

查看管理端日志,重新切换成功

恢复12的slave端

手动恢复

再进行一次手动切换

删除自动切换生成的锁定文件

手动切换不会生成锁定文件,VIP会随着master的改变而漂移

相关文章:

Lnmp架构之mysql数据库实战2

4、mysql组复制集群 一主多从的请求通常是读的请求高于写 ,但是如果写的请求很高,要求每个节点都可以进行读写,这时分布式必须通过(多组模式)集群的方式进行横向扩容。 组复制对节点的数据一致性要求非常高&#xff…...

【软件工程_设计模式Designer Method】三类?23种常用设计模式?-简介-作业一

设计模式?what? what is Design pattern??? 是一套反复被使用的、经过分类编目的、家喻户晓的、代码设计经验的总结。 它是 软件工程的一块基石。 “ 设计模式是软件工程中一种通用的,可复用的一种解决方案…...

信号相关的函数

#include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig); -功能&#xff1a;给任何进程pid&#xff0c;发送任何信号sig 参数&#xff1a; pid: >0:将信号发送给指定的进程 0&#xff1a;将信号发送给当前的进程组 -1&#xff1a;将信号发送…...

matlab实现杨氏双缝干涉实验可视化界面

关于杨氏双缝干涉实验的条纹光强理论推导和matlab绘图可以参考下面的链接&#xff1a;杨氏双缝干涉实验matlab实现 接下来利用GUI实现可视化界面。 一、GUI GUIDE简介 1、在命令行窗口输入小写的guide可以自动弹出fig窗口。 2、界面的左侧是常用的工具&#xff0c;鼠标悬停…...

【SQL】统一训练平台数据库实践--20230927

储存过程vlookup_peopledata_csodtraining 默认导出用今天批次的数据进行join on&#xff0c;先删除过渡表的资料&#xff0c;再将查询结果放在过渡表中。 BEGINDECLARE startdate varchar(50);SET startdate date_format(NOW(),%Y%m%d);DELETE FROM season.csod_data2;INSE…...

全国职业技能大赛云计算赛项---Linux系统调优案例

全国职业技能大赛云计算赛项---Linux系统调优案例 Linux系统调优案例&#xff1a;OpenStack平台调度策略优化:OpenStack平台镜像优化&#xff1a;OpenStack平台I/O优化&#xff1a;OpenStack 平台内存优化&#xff1a;Linux 系统调优-防止SYN 攻击&#xff1a; Linux系统调优案…...

Docker部署ZooKeeper分布式协调服务

1、准备工作 docker pull zookeeper:3.6.3 Pwd"/data/software/zookeeper" mkdir -p ${Pwd}/{logs,data,conf}2、创建TEST容器&#xff0c;将conf目录COPY出来&#xff0c;在映射进去&#xff0c;方便后续维护管理&#xff01; docker run -itd --name zookeeper z…...

算法 出现次数超过一半的数字-(哈希+摩尔投票)

牛客网: BM51 题目: 数组中只有1个数字出现次数超过一半&#xff0c;找出这个数字 思路: 投票计数vote0, 遍历数组&#xff0c;vote为0时&#xff0c;num赋值为当前值, num与当前值相等时&#xff0c;vote增加, 否则vote减小&#xff0c;只有1个数字出现次数超过一半&#xf…...

如何搭建游戏平台?

搭建游戏平台是一个复杂的任务&#xff0c;涉及多个方面的工作。下面是一些关键步骤和注意事项&#xff0c;以帮助您搭建游戏平台&#xff1a; 平台开发&#xff1a;开发游戏平台的关键部分&#xff0c;包括网站或应用程序的开发、数据库设计、用户界面设计、游戏上传和管理工具…...

【华为OD机试python】数字反转打印【2023 B卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述: 小华是个很有对数字很敏感的小朋友,他觉得数字的不同排列方式有特殊美感。 某天,小华突发奇想,如果数字多行排列,第一行1个数,第二行2个,第三行3个, 即第n行有n个数字,并且奇数行…...

MATLAB配置编译器(包括vs和mingw)

版本&#xff1a;matlab2022b&#xff0c;VS2022&#xff0c;mingw&#xff1a;8.1.0 之前安装好了matlab和vs后&#xff0c;在matlab的命令行输入 mex -setup时&#xff0c;自动找到并且配置好了vs编译器&#xff0c;可能是应为二者安装在了同一个根目录下&#xff0c;比如都在…...

基本网络协议

TCP 协议 TCP 协议是一种传输控制协议&#xff0c;是一种面向连接的传输层协议,它提供高可靠性的通信高可靠性:数据无错误,数据无丢失,数据无失序,数据无重复到达。 TCP 协议头部结构 下图是 TCP 协议的头部结构&#xff0c;如图&#xff1a; 16 位端口号&#xff1a; 告知主机…...

Tungsten Fabric Rabbitmq故障处理

开源SDN软件Tungsten Fabric&#xff08;以下简称TF&#xff09;有时莫名其妙出现服务宕机情况。 使用TF自带工具contrail-status排查&#xff0c;多数时候是rabbitmq出现宕机&#xff0c;或者某个组件连接rabbitmq出错。 本次仅排查、处理rabbitmq问题。 1. 查rabbitmq日志发…...

sqlServer 检测慢 sql

部署监控: 部署慢SQL与死锁跟踪 Skip to end of metadata 仅SQL Server 2012及以上版本可用. 执行前请确保路径正确! 慢SQL定义:执行时间超过0.5秒即定义为慢SQL,会被捕获。 SSMS中新建查询窗口,将下面代码贴上后执行。 该代码会新建一个[YX_Monitor]库,库中包含[Deadloc…...

Mac电脑音视频播放器: Infuse for Mac中文

Infuse是一款流行的多媒体播放器应用程序&#xff0c;适用于iOS、tvOS和macOS平台。它由Firecore开发&#xff0c;旨在提供出色的媒体播放体验&#xff0c;并支持广泛的视频和音频格式。 以下是Infuse的一些主要功能和特点&#xff1a; 多媒体格式支持&#xff1a;Infuse支持…...

优化积分商城页面的8个实用技巧

积分商城是私域营销的强大工具&#xff0c;能够帮助企业吸引并留住客户&#xff0c;提高销售和客户忠诚度。然而&#xff0c;为了确保积分商城发挥最大效益&#xff0c;需要对其页面进行优化&#xff0c;以提供用户友好的体验。本文将介绍8个实用的技巧&#xff0c;帮助您优化积…...

Python机器学习实战-特征重要性分析方法(2):内置特征重要性(附源码和实现效果)

实现功能 一些模型&#xff0c;如线性回归和随机森林&#xff0c;可以直接输出特征重要性分数。这些显示了每个特征对最终预测的贡献。 实现代码 from sklearn.datasets import load_breast_cancer from sklearn.ensemble import RandomForestClassifier import matplotlib.…...

vue中v-for和v-if同时使用的解决办法

在一个列表中&#xff0c;如果同时要遍历&#xff0c;并且根据某个条件控制某个列表项是否显示&#xff0c;如下代码是错误的&#xff1a; <ul><li v-for"item in list" v-if"item.show" :key"item.id">{{item.name}}</li> &…...

【解决方法】树莓派4B安装wiringpi失败、gpio -v与gpio readall命令not found(arm64架构)

问题描述 树莓派信息&#xff1a;#4B# #64位# #aarch# 使用 gpio -v 或 gpio readall 命令时显示 cmmand not foung安装好 RPi.GPIO &#xff08;安装命令&#xff1a;pip install RPi.GPIO&#xff09;仍旧不能使用上述命令安装好 wiringpi 结果报错 wiringpi:armhf 原因分析…...

oracle 递归

1&#xff09;此方法&#xff0c;父亲state 9999&#xff0c;儿子state ! 9999&#xff0c;儿子能查询出来 select * from T_ORGANIZATION ot where ot.state!9999 start with ot.id 7 connect by prior ot.id ot.ORG_PARENTID order by ot.id asc 2&#xff09;此方法…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...