IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL主从复制 -> 正文阅读

[大数据]MySQL主从复制

1.主从复制:

1.1 它是什么?

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库。您看,像在mysql数据库中,支持单项、异步赋值。在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器。此时主服务器会将更新信息写入到一个特定的二进制文件中。并会维护文件的一个索引用来跟踪日志循环。这个日志可以记录并发送到从服务器的更新中去。当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置。然后从服务器会接收从哪个时刻起发生的任何更新,然后锁住并等到主服务器通知新的更新!

1.2 原理图:

在这里插入图片描述

1.3步骤:

在这里插入图片描述

2.基本原则:

在这里插入图片描述

3.最大的问题:

就是主于从的延时!
主库宕机后,数据可能丢失
从库只有一个sql Thread,主库写压力大,复制很可能延时
解决方法:

半同步复制—解决数据丢失的问题
并行复制—-解决从库复制延迟的问题

4.主从复制的好处:

复制的目的让一台服务器的数据与其他服务器保持同步,一台主库的数据可以同步到多台备库上,备库本身也可以配置为另一台服务器的主库。主库备库之间可以用多种不同的组合方式。
MySQL支持的复制方式有两种:

(1)基于行的复制。MySQL5.1版本才加入进来。这种方式会将实际数据记录在二进制日志中,最大的好处是可以正确地复制每一行。一些语句可以被更加有效地复制。这种模式在备库上的开销会小很多,更加高效。因为每一行的数据都会被记录到二进制日志中,使得二进制日志事件相当庞大,而且会给主库上记录日志和复制增加额外的复制,更慢的日志记录会降低并发度。

(2)基于语句的复制。称为逻辑复制,从MySQL3.23版本开始就存在。主库会记录那些造成数据更改的查询,当备库读取并重放这些事件的时候,实际上只是把执行过的SQL再执行一遍。优点是实现相简单,不会使用太多带宽,因为二进制日志的事件更加紧凑。但可能会存在一些无法被正确复制的SQL,还有就是更新必须是串行的,意味着需要更多的锁。

没有哪种模式是完美的,MySQL能够在这两种复制模式间动态切换。 默认情况下使用的是基于语句的复制方式,但如果发现语句无法被正确地复制,就切换到基于行的复制模式。

相同点:

两种复制方式都是通过在主库上面记录二进制日志,在备库上面重放日志的方式实现异步的数据复制。所以,同一时刻备库的数据可能会与主库不一致的,并且无法保证主从之间的延迟。
MySQL的复制大部分是向后兼容,新版本的服务器可以作为老版本服务器的备库,但是老版本不能作为新版本的备库。原因是老版本的服务器可能没办法解析新版本服务器用的新特性或语法,另外所使用的二进制文件格式也可能不同。
复制解决的问题:数据的分布、负载均衡、备份、高可用和故障切换、MySQL升级测试。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-03 13:06:19  更:2021-12-03 13:08:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:03:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码