mysql主从架构备份_MySQL架构备份

MySQL Replication 概述

集群的主要类型?

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

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

如何衡量高可用?

99.53% 7天 常规系统99.98% 8小时 可用系统99.99% 52.6分钟 高可用系统99.999% 5.3分钟 抗故障系统99.9999% 32秒 容错系统

MySQL常用的集群架构

MySQL Replication

MySQL Cluster

MySQL Group Replication (MGR) 5.7.17

MariaDB Galera Cluster

Keepalived|HeartBeat||Lvs,Haproxy等技术构建高可用集群

什么是 MySQL Replication?

1、Replication可以实现将数据从一台数据库服务器(master)复制到一台到多台数据库服务器上(slave)

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

复制拓扑:

169f5806fead30199e9c158ad0edb551.png

a44326dfb59a113e6420e561c3c8f862.png

MySQL Replication的原理

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

9461172b41469d8e4665a0a9f81676e1.png

1. 在主库上把数据更改(DDL DML DCL)记录到二进制日志(Binary Log)中。

2. 备库I/O线程将主库上的日志复制到自己的中继日志(Relay Log)中。

3. 备库SQL线程读取中继日志中的事件,将其重放到备库数据库之上。

438ef9f3999a39604806279278c7f514.png

MySQL Replication的架构

master —> slave (双机热备)

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

复制的过程:

1、slave端的IO线程连上master端,请求

2、master端返回给slave端,bin log文件名和位置信息

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

4、slave端的sql线程,检测到relay bin log中内容更新,就会解析relay log 里更新的内容,并执行这些操作

5895628e75b61f120878b1df14c11059.png

M--S 双机热备实验 > 点我

master —> slave1 —> slave2 (级联架构)

优点:进一步分担读写力

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

M--S--S 级联架构实验 > 点我

master —> (slave1 slave2) (并联架构)

/---->slave1

master (并联架构)\----> slave2

优点:解决上面的slave1的单点故障,同时也分担读压力

缺点:间接增加master的压力(传输二进制日志压力)

master1 master2 (互为主从)

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

示例:create tableaaa;

m: s:

bin-log --------> io(relay-bin-log)

sql create table aaa;

把主上的二进制日志(bin-log)的内容传到从上的一个新的日志叫relay-bin-log

从上的IO 线程 负责传输

从上的SQL 线程 负责从服务器解析日志

若是双master架构,则两边都得开启binlog和relarylog中继日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值