MySQL学习笔记25

news2024/11/28 11:52:47

逻辑备份

物理备份

在线热备:

真实案例:

数据库架构是一主两从,但是两台从数据库和主数据不同步。但是每天会全库备份主服务器上的数据到从服务器上。需要解决主从不同步的问题。

案例背后的核心技术:

1、熟悉MySQL数据库常见的主从架构;

2、理解MySQL主从架构的实现原理

3、掌握MySQL主从架构的搭建;(两种搭建方式)

任务场景:

随着业务不断增长,公司对数据的安全性会越来越重视,由于常规的备份不能够实时记录下数据库的所有状态,为了能够保障数据库的实时备份冗余希望将现有单机数据库变成双机热备。

热备状态。如果其中的一台服务器出现故障,另外一台服务器能马上进行业务的切换,保证业务的正常运行。

任务要求:

备份数据库。

搭建双机热备数据库架构M-S。

课程目标:

了解什么是MySQL的replication (集群机制)复制架构AB

理解MySQL的Replication的架构原理。 复制架构

掌握MySQL的基本复制架构的搭建(M-S重点)高效稳定的数据库架构。

了解和掌握基于GTIDs的复制特点和搭建。5.6和5.7版本才引入的新的特性。

MySQL集群:

1、集群的主要类型:

高可用集群( High Available Cluster,HA)

高可用集群是指通过特殊的软件把多个独立的服务器连接在一起,组成一个能够提供故障切换的Fail Over 功能的集群。

Web集群

数据库集群

衡量指标:

高可用系统:99.99%,全年的宕机率不能超过52.6分钟。运维工程师,我们搭建一个高可用的架构还是很容易得。大多数是可以做到的。

之前SAS系统基本上可以定位为8.76小时/年。

常用的集群架构:

MySQL replication(MySQL主从架构)

MySQL Cluster (官方)

MySQL Group Replication (MGR 组复制)   5.7.17    多主一从
MariaDB Galera Cluster (也支持集群形式)
MHA |Keepalived|HeartBeat|Lvs,Haproxy等技术构建高可用集群

MySQL的复制:

Replication 可以实现将数据从一台数据库服务器(master)复制到一台或者多台数据库服务器(slave)。

默认情况下,属于异步复制,所以无需维持特长连接。

MySQL的复制原理(重点)

简单来说,master将数据库改变写入二进制日志,slave同步这些二进制日志,并根据这些二进制日志进行数据重演操作,实现数据异步同步。

master: 主

slave: 从

Slave启动两个线程,一个是IO Thread,文件的读写操作,读到的文件是Relaylog 中继日志中。另外一个是SQL Thread 线程,读取中继日志内容,执行SQL语句操作数据库。

当主从同步配置完毕后:

  1. slave端的IO线程发送请求给master端的binlog dump线程

  2. master端binlog dump线程==获取二进制日志==信息(==文件名和位置信息==)发送给slave端的IO线程

  3. salve端IO线程获取到的内容==依次==写到slave端relay log(中继日志)里,并把master端的bin-log文件名和位置记录到master.info里

  4. salve端的SQL线程,检测到relay log中内容更新,就会解析relay log里更新的内容,并==执行这些操作==,从而达到和master数据一致

扩展:relay log 中继日志。

作用:记录从slave服务器接收来自主master服务器的二进制日志。

场景:用于 主从复制。

master主服务器将自己的二进制日志发送给slave从服务器,slave先保存在自己的==中继日志中==,然后再执行自己本地的relay log里的sql达到数据库更改和master保持一致

 如何开启:

默认中继日志==没有开启==,可以通过修改配置文件完成开启,如下:

# vim my.cnf
[mysqld]
#指定二进制日志存放位置及文件名
relay-log=/mysql_3306/data/relaylog

在配置文件中,开启中继日志的方法。

slave服务器中开始中继日志。

MySQL复制架构:

1)双机热备(AB复制):主从复制

默认情况下,master接受读写请求,slave只接受读请求以减轻master的压力。

slave只相当于备份服务器,数据只是从主服务器读取过来的, 如果往slave服务器写入数据,那么将破坏这个组织架构,因为两端的数据不一致了。

2)级联复制:

对master主服务器执行增、删、该操作,写入到Binlog二进制日志中。

slave1从主master服务器中读取二进制日志,写到Relaylog中,然后通过SQL Thread来读取中继日志,执行SQL语句,执行的结果也写到Slave1的二进制日志中。

slave2然后从slave1读取Binlog二进制日志。

优点:进一步分担读的压力。

缺点:slave1出现故障,后面的所有级联slave服务器都会同步失败。

并联复制:一主多从的架构

优点:解决上面的slave1的单点故障,同时也分担读压力,单台服务器都能读。
缺点:间接增加master的压力(传输二进制日志压力)文件读写的压力。IO Thead。

双主复制:

说明:从命名来看,两台master好像都能接受读、写请求,但实际上,往往运作的过程中,同一时刻只有其中一台master会接受写请求,另外一台接受读请求。

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

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

相关文章

一点C知识:数据类型和内存地址。

当你需要存储一份数据到内存里的时候,你需要通过需要存储的方式和精度,向操作系统申请一份内存地址,形容怎么样申请地址的关键字就是数据类型。 例如,32位的处理器就有着32位的地址位宽,定义了一个char类型的数据&…

QSS之QScrollArea

QScrollArea在实际的开发过程中经常使用,主要是有些界面一屏显示不下,所以得用QScorllArea带滚动条拖动显示剩余的界面。默认的QScrollArea滚动条不满设计的风格,因此我们必须设置自已的滚动条风格,QScrollBar分为水平horizontal和…

if条件分支计算分段函数

分别罗列x的值域区间,if条件跳转相应分支计算函数值。 (本笔记适合正在研学if条件分支语句的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》&#xff0c…

Adams齿轮副

1.运动副 添加旋转副的时候,必须先物体后公共part(即此处的ground),最后再选择质心点 2.啮合点 啮合点marker的z轴必须是齿轮分度圆的切线方向 3.啮合点 两齿轮的旋转副,和啮合点,即cv marker ,必须属…

解决Nacos配置刷新问题: 如何启用配置刷新功能以及与`@RefreshScope`注解的关联问题

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

《HelloGitHub》第 90 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 …

轻量自高斯注意力(LSGA)机制

light(轻量)Self-Gaussian-Attention vision transformer(高斯自注意力视觉transformer) for hyperspectral image classification(高光谱图像分类) 论文:Light Self-Gaussian-Attention Vision…

第7讲:VBA中利用FIND的代码实现单值查找实例

【分享成果,随喜正能量】心真如,随缘生起一切法,一切法还归于真如。《大乘起信论》讲心真如门就是体,心生灭门就是相用,心生灭、心真如都从一心而起,离开心别无二法。我们想从心真如门修行不易进入&#xf…

leetCode 123.买卖股票的最佳时机 III 动态规划 + 状态压缩

123. 买卖股票的最佳时机 III - 力扣(LeetCode) 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意:你不能同时参与多笔交易&#xff0…

【Linux系统编程】进程状态

文章目录 前言1. 准备工作2. 阻塞、挂起状态的了解2.1 阻塞2.2 挂起 3. 看看Linux内核源代码怎么说4. R运行状态(running)5. S休眠状态(sleeping)6. D不可中断休眠状态7. T暂停状态(stopped)8. t 追踪暂停状态 (tracin…

MySQL学习笔记26

MySQL主从复制的搭建(AB复制) 传统AB复制架构(M-S): 说明:在配置MySQL主从架构时,必须保证数据库的版本高度一致,统一版本为5.7.31 环境规划: 编号主机名称主机IP地址角色信息1ma…

C/C++跨平台构建工具CMake-----在C++源码中读取CMakeLists.txt配置文件中的内容

文章目录 1.需求描述2.需求准备2.1 创建项目2.2 编辑CMakeLists.txt文件2.3 编写C文件2.4 编译构建项目 3.需求实现3.1 在CMakeLists.txt中输出日志信息3.2 增加配置生成C头文件3.3在C 源码中访问配置的值3.4 C文件中读取CMakeLists.txt中的字符串 总结 1.需求描述 当我们开发…

C语言数据结构之排序整合与比较(冒泡,选择,插入,希尔,堆排序,快排及改良,归并排序,计数排序)

前言:排序作为数据结构中的一个重要模块,重要性不言而寓,我们的讲法为下理论掌握大致的算法结构,再上代码及代码讲解,助你一臂之力。 一,冒泡 冒泡排序应该是大家学习以来第一个认识的排序方法&#xff0…

FFmpeg 命令:从入门到精通 | FFmpeg 基本介绍

FFmpeg 命令:从入门到精通 | FFmpeg 基本介绍 FFmpeg 命令:从入门到精通 | FFmpeg 基本介绍FFmpeg 简介FFmpeg 基础知识复用与解复用编解码器码率和帧率 资料 FFmpeg 命令:从入门到精通 | FFmpeg 基本介绍 本系列文章要解决的问题&#xff1…

2023年职业院校技能大赛中职组----大数据应用与服务赛项任务书试题

2023年职业院校技能大赛中职组----大数据应用与服务赛项任务书试题 模块一:数据库系统运维(25分)任务一:数据库系统搭建(10分)任务二:房源数据库系统运维(15分) 模块二&a…

milvus 结合Thowee 文本转向量 ,新建表,存储,搜索,删除

1.向量数据库科普 【上集】向量数据库技术鉴赏 【下集】向量数据库技术鉴赏 milvus连接 from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection, utility connections.connect(host124.****, port19530)2.milvus Thowee 文本转向量 使用 …

模拟实现简单的通讯录

前言:生活中处处都会看到或是用到通讯录,今天我们就通过C语言来简单的模拟实现一下通讯录。 鸡汤:跨越山海,终见曙光! 链接:gitee仓库:代码链接 目录 主函数声明部分初始化通讯录实现扩容的函数增加通讯录所…

【Docker】docker拉取镜像错误 missing signature key

问题 当我使用docker拉取一个特定的镜像时,提示错误: 错误 missing signature key 但是拉取其他镜像又可以访问,,,,于是,我怀疑是否是docker版本问题。 docker --version结果确实&#xff0…

使用Python进行App用户细分

App用户细分是根据用户与App的互动方式对用户进行分组的任务。它有助于找到保留用户,找到营销活动的用户群,并解决许多其他需要基于相似特征搜索用户的业务问题。这篇文章中,将带你完成使用Python进行机器学习的App用户细分任务。 App用户细…

FFmpeg 命令:从入门到精通 | FFmpeg 音视频处理流程

FFmpeg 命令:从入门到精通 | FFmpeg 音视频处理流程 FFmpeg 命令:从入门到精通 | FFmpeg 音视频处理流程实例 FFmpeg 命令:从入门到精通 | FFmpeg 音视频处理流程 实例 ffmpeg -i test_1920x1080.mp4 -acodec copy -vcodec libx264 -s 1280x…