暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
2.主从复制详解.docx
26
69页
1次
2025-04-06
50墨值下载
主从复制概述
MySQL 主从复制就是将一个 MySQL 实例(Master)中的数据实时复制到另一个 MySQL
实例(slave)中,而且这个复制是一个异步复制的过程。
实现整个复制操作主要由三个进程完成的,其中两个进程在 SlaveSQL_thread
IO_thread),另外一个进程在 Masterbinlog dump 线程)上。
1. binlog dump 线程:负责将主服务器上的数据更改写入二进制日志中。
2. IO 线程:负责从主服务器上读取二进制日志,并写入从服务器的中继日志中。
3. SQL 线程:负责读取中继日志并重放其中的 SQL 语句。
主从复制原理
要实施复制,首先必须打开 Master 端的 binary logbin-log)功能,否则无法实现。因为整
个复制过程实际上就是 Slave Master 端获取该日志然后再在自己身上完全顺序的执行日志
中所记录的各种操作。
主从复制原理图
复制的基本过程如下:
1. Slave 上面的 IO_thread 连接上 Master,并请求指定日志文件(bin-log file)的指定位
(bin-log pos)之后的日志内容;
2. Master 接收到来自 Slave IO_thread 的请求后,将指定日志指定位置之后的日志
信息,返回给 Slave IO_thread
3. Slave IO_thread 接收到信息后,将接收到的日志内容依次添加到 Slave 端的
relaylog 文件的最末端,并将读取到的 Master 端的 bin-log 的文件名和位置记录到
master-info 文件中,以便在下一次读取的时候能够清楚的告诉 Master 需要某个
binlog 的哪个位置开始往后的日志内容;
4. Slave SQL_thread 检测到 relaylog 中新增加了内容后,会马上解析 relaylog 的内
容,并在本数据库中执行。
整体上来说,复制有 3 个步骤:
1. master 将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,
binary log events);
2. slave master binary log events 拷贝到它的中继日志(relay log)
3. slave 重做中继日志中的事件,修改 salve 上的数据,将其在备库上重新执行一遍。
主从复制解决的问题
1. 利用从库减轻主库的读取压力(读写分离)
2. 利用从库做 Master 故障的接管(高可用)
3. 利用从库做备份等维护工作减少对业务的影响(运维管理)
4. 利用从库可以无缝迁移、升级(滚动升级)
5. 利用从库可以数据分析、统计(BI 等数据订阅)
6. 利用从库可以做异地灾备(数据冗余灾备)
MySQL 常见的主从形式
一主一从:一主一从能够提供备库,主库故障后可以进行故障切换,避免数据丢失。
一主多从:一主多从是常见的主从架构,使用起来简单有效,不仅可以实现 HA,而且还能读
写分离,进而提升集群的并发能力。
多主一从:多主一从可以将多个 MySQL 数据库备份到一台存储性能比较好的服务器上,
便统一分析理。
of 69
50墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜