MySQL学习笔记25

逻辑备份

物理备份

在线热备:

真实案例:

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

案例背后的核心技术:

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.xdnf.cn/news/145543.html

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

相关文章

Linux--进程间通信之命名管道

目录 前言概念命名管道的创建命名管道特性 命名管道通信建立连接资源处理 Client && Server通信总结 前言 上一篇文章介绍匿名管道的进程间通信只适合在具有血缘关系的进程间进行通信,但是如果我们想让两个不相关的进程实现通信,使用匿名管道显…

Kafka:安装与简单使用

文章目录 下载安装windows安装目录结构启动服务器创建主题发送一些消息启动消费者设置多代理集群常见问题 工具kafka tool 常用指令topic查看topic删除topic 常见问题参考文献 下载安装 下载地址:kafka-download windows安装 下载完后,找一个目录解压…

notepad++配置python2环境

(1)python2版本下载:Index of /ftp/python/2.7.8/https://www.python.org/ftp/python/2.7.8/ (2) 配置notepad环境 1.打开Notepad,点击“插件”-“插件管理器”,在“可用”选项卡中&#xff0c…

前言技术 VScode + 其他插件-2

一、扩展插件 1.1 chinese 作用:使得软件变成中文显示 1.2 prettier 作用:格式化代码 需要多重配置;看视频 第一步:安装 第二步:软件设置 第三步:查询 save , 修改保存时自动对齐格式,打✔…

【软考】系统集成项目管理工程师(五)项目立项管理【5分】

一、 项目建议书 1、定义 项目建议书又称为立项申请;建设单位向上级主管部门提交项目申请时所必须的文件,是对拟建项目提出的框架性的总体设想;是项目发展周期的初始阶段,是国家或上级主管部门选择项目的依据,也是可行…

WordPress外贸建站Astra免费版教程指南(2023)

在WordPress的外贸建站主题中,有许多备受欢迎的主题,如AAvada、Astra、Hello、Kadence等最佳WordPress外贸主题,它们都能满足建站需求并在市场上广受认可。然而,今天我要介绍的是一个不断颠覆建站人员思维的黑马——Astra主题。 …

Hudi第二章:集成Spark

系列文章目录 Hudi第一章:编译安装 Hudi第二章:集成Spark 文章目录 系列文章目录前言一、安装Spark1、安装Spark2.安装hive 二、spark-shell1.启动命令2.插入数据3.查询数据1.转换DF2.查询 3.更新4.时间旅行5.增量查询6.指定时间点查询7.删除数据1.获取…

linux Mysql 8.0.16 安装搭建

文章目录 Mysql 搭建一、安装包下载二、创建用户组用户和修改权限三、配置my.cnf Mysql 搭建 一、安装包下载 mysql 下载地址:https://downloads.mysql.com/archives/community/ 这里有所有的mysql的版本,下载自己需要的版本,我们这里下载 …

视频高效剪辑,批量调整视频速度,让视频更加精彩

你是否曾经需要调整多个视频的速度,但却苦于手动操作效率低下?如果你也遇到了这样的问题,那么是时候采取行动,使用一款高效易用的视频处理工具了。 首先,我们要进入好简单批量智剪,并在板块栏里选择“任务…

搭建自己的搜索引擎之五

一、前言 接上文 搭建自己的搜索引擎之四,下面继续介绍茴香豆茴字的另外两种写法。 二、Jest Jest是ES的Java Http Rest客户端,它主要是为了弥补以前ES自有API缺少HttpRest接口客户端的不足,但因为现在ES官方已经提供了RestClient ,该项目已…

cJSON.c 在mfc中编译失败报 lnk2005错误

问题一、在MFC工程中导入cJson.c 编译时报以下错误: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C1853 “x64\Release\xxx.pch”预编译头文件来自编译器的早期版本,或者预编译头为 C 而在 C 中使用它(或相反) xxx …

【广州华锐互动】鱼类授精繁殖VR虚拟仿真实训系统

随着科技的不断发展,虚拟现实技术在各个领域的应用越来越广泛。在养殖业中,VR技术可以帮助养殖户进行家鱼授精实操演练,提高养殖效率和繁殖成功率。本文将介绍利用VR开展家鱼授精实操演练的方法和应用。 首先,我们需要了解家鱼授精…

WorkPlus私有化部署IM即时通讯平台,构建高效安全的局域网办公环境

随着数字化转型的加速,政府机构与企业对高效、安全的即时通讯和协作工具的需求日益增长。企业微信和钉钉作为当前市场上较为常见的通讯工具,虽然在一定程度上满足了企业内部协作的需求,但仍存在一些问题,如数据安全性、私有化部署…

N 皇后问题

N 皇后问题研究的是如何将 N 个皇后放置在 N x N 的棋牌上,并且使皇后彼此之间不能相互攻击。 国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子 解决思路是:剪枝 回溯方法 解决问题 (1).使用二维数组创建棋牌格子 g…

C++与QML交互总结二

目录 1.CPP调用QML 1.1 QMetaObject::invokeMethod调用 1.2 CPP中的信号绑定qml中的槽 2.QML调用CPP 2.1 QML单实例注册 2.2 将类对象注册到QML的上下文中 2.3 QML信号调用CPP槽 3.QML中注入一个cpp实例 3.1qmlRegisterType 3.2QML_ELEMENT 4.附加属性: QML_ATTACHE…

面试题:说一下SpringBoot的自动配置原理

文章目录 引言工作原理剖析EnableAutoConfiguration自动配置生效总结 引言 不论在工作中,亦或是求职面试,Spring Boot已经成为我们必知必会的技能项。除了某些老旧的政府项目或金融项目持有观望态度外,如今的各行各业都在飞速的拥抱这个已经…

c==ubuntu+vscode debug redis7源码

新建.vscode文件夹,创建launch.json和tasks.json {"version": "0.2.0","configurations": [{"name": "C/C Launch","type": "cppdbg","request": "launch","prog…

Flink CDC MySQL同步MySQL错误记录

1、启动 Flink SQL [appuserwhtpjfscpt01 flink-1.17.1]$ bin/sql-client.sh2、新建源表 问题1:Encountered “(” 处理方法:去掉int(11),改为int Flink SQL> CREATE TABLE t_user ( > uid int(11) NOT NULL AUTO_INCREMENT COMME…

1 论文笔记:Efficient Trajectory Similarity Computation with ContrastiveLearning

2022CIKM 1 intro 1.1 背景 轨迹相似度计算是轨迹分析任务(相似子轨迹搜索、轨迹预测和轨迹聚类)最基础的组件之一现有的关于轨迹相似度计算的研究主要可以分为两大类: 传统方法 DTW、EDR、EDwP等二次计算复杂度O(n^2)缺乏稳健性 会受到非…

【Linux】进程控制基础知识

目录 一,fack回顾 二,进程终止 1.进程终止,操作系统做了什么? 2.进程终止,常见的方式 1.main函数的,return 返回码 2. exit()函数 三,进程等待 1. 回收进程方法 (1. wait…