浅谈 MySQL 主从复制,优点?原理?
目录一. 主从复制概述二. 主从复制有什么优点三. 主从复制的原理四. 数据一致性问题4.1 同步复制4.2 异步复制4.3 半同步复制一. 主从复制概述既然是主从复制那么至少就应该有两台服务器一台作为主库(Master)一台作为从库(Slave)。主数据库会将自己的DDL(数据定于语言例如建库建表)与DML(数据操作语言例如增删改查)操作写成二进制日志文件发送给从库从库在接收到二进制日志文件之后自己在将文件中的命令执行一遍(也叫重做)将数据备份保存到自己的服务器内部从而使自己的数据与主库的数据保持一致。同时主库可以挂载多个从库向多台数据库服务器发送数据文件此外从库也可以作为其他数据库的主库实现链式复制。二. 主从复制有什么优点1实现读写分离主库主要用于做增删改操作从库大量用于查询操作降低了主库查询数据的访问压力2当主库出现故障或者宕机无法立刻恢复时可以迅速切换到从库继续对外提供服务保证业务不受到影响3当执行备份数据操作时因为备份数据库会加全局锁会进入只读状态导致增删改操作阻塞。所以可以将备份数据操作交给从库去做只让一个从库加上全局锁主库继续对外服务仍然可以进行增删改查所有操作避免主库备份数据加锁阻塞对业务产生影响三. 主从复制的原理MySQL 主从复制的核心就是根据二进制日志来完成的大致可以分为以下三步1当 Master主库执行了增删改或者DDL(数据定义语言)操作之后主库就会将所有的数据变更写入到二进制日志 binlog 文件中2然后当从库想要同步主库的数据时主库的二进制日志转储线程会将二进制日志文件的内容发送给 slave从库在读取发送二进制日志文件的过程中binlog 文件会加锁读取完毕之后会释放锁。slave 从库中的 IOThread 线程就会读取主库二进制日志文件 binlog 中的内容读取之后会将文件内的所有内容写入到自己的中继日志文件中3写入中继日志完毕后slave 从库中的另一个线程 SQLThread 会读取刚才的中继日志文件中的内容并在自己的服务器中执行一遍从而保证了从库数据与主库数据的一致性四. 数据一致性问题在MySQL中主要有三种方法用于处理主库与从库的数据一致性问题4.1 同步复制主库将自己做的更新写入 Binlog 日志文件后会等待数据更新同步复制到从库中并且已经在从库执行成功然后才能返回继续处理其它的请求。同步复制提供了最佳安全性保证数据安全数据不会丢失缺点是对性能有一定的影响因为要等待从库的同步响应结果响应期间无法做其他写入操作4.2 异步复制主库将自己最新作的操作或事务写入到 binlog 二进制日志文件之后不需要等待数据更新是否已经到达从库直接就可以继续处理外部的请求也就是说主库不知道从库何时会接收 binlog 文件并同步数据自己只负责将操作写入 biblog 文件。异步复制优点是提高了主库的写入能力能处理更多的请求缺点是如果主库宕机并且主库提交的事务尚未提交至从库那么新上位的主库就会丢失之前已经提交过的事务。4.3 半同步复制半同步复制就是对同步复制与异步复制的一个折中方案当从库做了数据更新之后需要等待至少有一台从库已经读取到数据并写入到了自己的中继日志中只要得到一台从库的响应就可以结束等待继续处理其他请求等待从库响应数量在MySQL5.7版本以后可以在配置文件中配置可以配置至少一台两台或多台。如果数量较大也会有一定的性能缺失如果数量较少数据同步效果不是很大实际工作需要折中考虑。

相关新闻

SATA控制器架构深度解析:从AHCI原理到嵌入式开发实践

SATA控制器架构深度解析:从AHCI原理到嵌入式开发实践

1. 从并行到串行:SATA控制器架构的演进与核心价值如果你拆开过一台十年前的台式机,大概率会看到一根又宽又扁的灰色排线,连接着主板和硬盘,那就是并行ATA(PATA)接口。它曾统治了PC存储接口数十年&#xff0…

2026/7/22 15:53:11 阅读更多 →
String 字符串不可变带来的好处是什么?

String 字符串不可变带来的好处是什么?

目录 一. 线程安全(数据安全) 二. 节约内存 三. 提高集合的存取效率 一. 线程安全(数据安全) 众所周知,String 字符串是默认被 final 修饰的,是不可变的,那么首先能想到的一个优点就是线程安全,String 是存放在堆中的&#xf…

2026/7/22 15:53:11 阅读更多 →
AI预测风险技术:从测试覆盖率到智能测试资源分配

AI预测风险技术:从测试覆盖率到智能测试资源分配

1. 项目概述:从测试覆盖率到AI预测风险的范式转移十年前我刚入行测试时,团队墙上永远挂着那个醒目的数字——"测试覆盖率98%"。直到某次线上事故后才发现,那些精心维护的测试用例覆盖的都是不会出错的代码,而真正复杂的…

2026/7/22 15:53:11 阅读更多 →

最新新闻

掌握libcurl:从GET请求到HTTPS验证全解析

掌握libcurl:从GET请求到HTTPS验证全解析

1. 初始化 libcurl 在程序开始时调用一次&#xff1a; #include <stdio.h> #include <curl/curl.h>int main(void) {CURLcode res;res curl_global_init(CURL_GLOBAL_DEFAULT);if (res ! CURLE_OK) {fprintf(stderr, "curl_global_init failed: %s\n",c…

2026/7/22 16:35:43 阅读更多 →
基于二阶锥规划的主动配电网最优潮流求解(Matlab代码实现)

基于二阶锥规划的主动配电网最优潮流求解(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页 &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&#xff1a;行百里者&#xff0c;半于九十。 &#x1f4cb;&#x1f4…

2026/7/22 16:35:43 阅读更多 →
深入解析TI HDVPSS intc_intr1中断控制器:原理、配置与实战优化

深入解析TI HDVPSS intc_intr1中断控制器:原理、配置与实战优化

1. 项目概述在嵌入式视频处理系统的开发中&#xff0c;中断控制器就像是整个系统的“神经中枢”&#xff0c;它负责接收来自各个外设的“紧急呼叫”&#xff0c;并决定是否、以及何时通知CPU这个“大脑”去处理。今天&#xff0c;我们就来深入拆解德州仪器高清视频处理子系统中…

2026/7/22 16:35:43 阅读更多 →
中国电子多项AI创新成果入选国资央企人工智能典型案例

中国电子多项AI创新成果入选国资央企人工智能典型案例

2026世界人工智能大会&#xff08;WAIC&#xff09;期间&#xff0c;国务院国资委在“智赋新质 全域焕新”企业人工智能高质量发展论坛上正式启动“国资央企智能软件工厂联合筑基工程”&#xff0c;包括中国电子在内的首批13家中央企业研发力量参与共建。第二批央企人工智能战略…

2026/7/22 16:35:43 阅读更多 →
LocalAI语音识别教程:在本地设备上部署Whisper模型的完整指南

LocalAI语音识别教程:在本地设备上部署Whisper模型的完整指南

LocalAI语音识别教程&#xff1a;在本地设备上部署Whisper模型的完整指南 【免费下载链接】LocalAI LocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required. 项目地址: https://gitcode.com/GitHub_…

2026/7/22 16:35:43 阅读更多 →
【2027最新】基于SpringBoot+Vue的校园失物招领网站管理系统源码+MyBatis+MySQL

【2027最新】基于SpringBoot+Vue的校园失物招领网站管理系统源码+MyBatis+MySQL

&#x1f4a1;实话实说&#xff1a;有自己的项目库存&#xff0c;不需要找别人拿货再加价&#xff0c;所以能给到超低价格。博主介绍&#xff1a;在校期间积极参与实验室项目研发&#xff0c;现为CSDN特邀作者、掘金优质创作者。专注于Java开发、Spring Boot框架、前后端分离技…

2026/7/22 16:34:42 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统&#xff0c;尤其是像TI C6000系列这样的高性能DSP开发中&#xff0c;我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动&#xff0c;但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案&#xff1f; 在数字化协作环境中&#xff0c;消息通知系统的重要性不言而喻明。但现实情况是&#xff0c;企业级通知方案往往需要复杂的API对接&#xff08;如企业微信、钉钉、飞书&#xff09;&#xff0c;个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点"&#xff0c;乙方听到的是"少做几页"。甲方说"不要太复杂"&#xff0c;乙方理解成"别放图表了"。结果交过去&#xff0c;甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里&#xff0c;是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻