继《myqs千金良方》之后又爆神作:
在开源国产数据库崛起的今天,这本佳作《数据生态:MySQL复制技术与生产实践》,无疑将为MySQL在各行业的推广和使用做出贡献,这也是像我这样的从商业数据库转到开源数据库的从业者的福音。
MySQL能够成为“最流行的开源数据库”,其复制技术起了巨大的作用。Sharing Nothing架构、横向扩展、高可用、容灾、数据集成与聚合,这一系列名词所代表的架构和应用场景都与复制技术有关。多应用场景意味着与复制相关的技术灵活而复杂:异步复制、增强半同步复制、语句级复制、行级复制、按位点复制、GTID复制、多源复制、级联复制、多线程复制、双主架构、一主多从架构、延迟复制、读写分离等。不同的业务场景,使用不同的复制架构,该如何正确地构建MySQL复制拓扑、如何有效地监控和正确地维护,这些都是架构师和DBA要解决的问题。
本书专注于MySQL复制特性,从基本概念和原理着手,再到实践操作、复制架构的方案、常见故障案例等方面,也涵盖了传统复制架构下最新的半同步复制、多源复制、多线程复制等内容,可谓MySQL复制特性的全面指南。
要系统地学习和研究一个课题,按照由浅入深的顺序,我们可以将其过程大致分为如下三个阶段:
第一阶段:认识整体
对于一个复杂课题,可以先从整体上搞清楚它的知识体系组成框架,搞清楚其中各个组成部分(知识模块)的大致脉络,从而从全局上建立起初步认知,以便为下一阶段选择知识模块进行深入研究做好铺垫。
第二阶段:逐一深入
基于第一阶段的整体认识,可以优先选择一些工作中需要用到的知识模块,或者感兴趣的知识模块,作为子课题逐一进行深入的系统研究。
第三阶段:回归整体
由于人的精力有限,在第二阶段,深入研究各知识模板期间,一些知识模块可能会被遗忘,因此需要回归整体,结合自己的验证与理解,建立牢固的知识体系。
MySQL的数据生态
MySQL的二进制日志记录了一个数据库实例内数据的变更,这些内容是按照时间的先后顺序记录的。根据具体的二进制日志格式选项设置,可以记录数据库实例内执行的原始SQL语句文本,也可以记录数据库实例内执行SQL语句时产生的数据变更的行记录值。二进制日志可以满足类似如下一些应用场景:
- 1.MySQL Server崩溃之后对其进行恢复时,二进制日志作为事务的协调者。
- 2.在不同实例间进行数据同步(主从复制、组复制)。
- 3.数据异地容灾。
- 4.恢复被误删除的数据(通常称为“数据闪回”)。
- 5.数据在异构数据库之间流转。
二进制日志独有的特性是MySQL数据流动与循环的基石,在不同应用场景下形成了独特的“数据生态”,这也是本书名字的由来。
需要获取的小伙伴可以直接转发+关注后私信(学习)即可免费获取
点击链接耽误你十几秒钟用VX免费订阅/免费报名成功后截个图给我统计下,不需要填写其他信息,vx登录就好了
全书分为“基础篇”“方案篇”“参考篇”,其中:
“基础篇”对MySQL主从复制技术的用途、概念、基本原理及演进等进行全方位的介绍。
第1章复制的概述
- 1.1适用场景
- 1.2数据同步方法
- 1.3 数据同步类型
- 1.4复制格式
第2章复制的基本原理
- 2.1概述
- 2.2细节
第3章复制格式详解
- 3.1复制格式概述
- 3.2复制格式明细
- 3.3如何确定与记录复制中的安全和不安全语句
第4章传统复制与GTID复制
- 4.1传统复制
- 4.2 GTID复制
第5章半同步复制
- 5.1 半同步复制的原理
- 5.2半同步复制的管理接口
- 5.3半同步复制的监控
- 5.4半同步复制的注意要点
第6章多线程复制
- 6.1单线程复制原理
- 6.2 DATABASE多线程复制
- 6.3 LOGICAL_CLOCK多线程复制
- 6.4 WR工TESET多线程复制
第7章多源复制
- 7.1复制通道
- 7.2单通道操作命令
- 7.3复制语句的向前兼容性
- 7.4启动选项和复制通道选项
- 7.5复制通道的命名约定
第8章从库中继日志和状态日志
- 8.1中维日志和状态日志概述
- 8.2从库中继日志
- 8.3从库状态日志
第9章通过PERFORMANCE_SCHEMA库检查复制信息
- 9.1 PERFOEMANCE_SCHEMA库中的复制信息记录表概述
- 9.2 PERFOEMANCE_SCHEMA库中的复制信息记录表详解
第10章通过其他方式检查复制信息
- 10.1复制状态变里
- 10.2复制心跳信息
- 10.3SH0Ow SLAVE STATUS语句输出信息详解
- 10.4通过SH0OW FROCESSI.IST语句查看复制线程状态
- 10.5SH0 MASTEESTATUS语句输出详解
- 10.6 SHOw SLAVE HOSTs语句
第11章MySQL复制延迟seconds_Behind_Master究竟是如何计算的
- 11.1 “口口相传"”的计算方法
- 11.2探寻“正确”的计算方法
- 11.3验证
- 11.4小结
第12章如何保证从库在意外中止后安全恢复
- 12.1从库的崩溃与恢复概述
- 12.2从库的崩溃与恢复详解
第13章MySQL Server复制过滤
- 13.1 MySQL Server夏制过滤规则]概述
- 13.2库级别复制过滤选项的评估
- 13.3表级别复制过滤选项的评估
- 13.4复制过滤规则的应用
“方案篇”对MySQL主从复制技术在生产中的应用场景、复制拓扑的生命管理周期、高可用切换与主库故障转移等进行全方位的介绍。
第14章搭建异步复制
- 14.1操作环境信息
- 14.2全新初始化场景
- 14.3已有数据场景
- 14.4变里模板
第15章搭建半同步复制
- 15.1半同步复制插件的安装和配置环境要求
- 15.2半同步复制插件的安装和配置
- 15.3半同步复制工作状态的验证
第16章通过扩展从库以提高复制性能
- 16.1操作环境
- 16.2横向扩展
- 16.3提高复制性能
第17章复制模式的切换
- 17.1操作环境信息
- 17.2复制模式的相关概念
- 1 7.3 传统复制在线变更为GTID复制
- 17.4 GTID复制在线变更为传统复制
- 17.5GTID复制离线变更为传统复制
- 17.6传统复制离线变更为GTID复制
第18章复制拓扑的在线调整
- 18.1操作环境信息
- 18.2传统复制模式下的复制拓扑在线调整
- 18.3GTID夏制模式下的复制拓扑在线调整
第19章主从实例的例行切换
- 19.1操作环境信息
- 19.2在线切换
第20章数据库故障转移
- 20.1操作环境信息
- 20.2主库故障转移的关键步骤
- 20.3主库故障转移的详细过程
第21章搭建多源复制
- 21.1操作环境信息
- 21.2基于传统复制的多源复制
- 21.3基于GTID复制的多源复制
- 21.4多源复制拓扑中复制相关的操作语句变化
第22章MySQL版本升级
- 22.1 MySQL版本之间的复制兼容性
- 22.2升级复制的设置
第23章将不同数据库的数据复制到不同实例
- 23.1操作环境信息
- 23.2通过设置复制过滤规则将不同数据库的数据复制到不同实例
第24章发生数据误操作之后的处理方案
- 24.1操作环境信息
- 24.2主库发生误操作后的数据恢复
- 24.3从库发生误操作后的数据恢复
第25章常用复制故障排除方案
- 25.1确认故障现象
- 25.2信息收集与故障排查
- 25.3复制故障的修复
- 25.4无法解决的问题
“参考篇”对MySQL二进制日志的基本组成结构、常见的复制对象在主从复制拓扑中的流转过程等进行全方位的介绍。
第26章二进制日志文件的基本组成
- 26.1什么是二进制日志
- 26.2二进制日志的组成
- 26.3 二进制日志内容解析
- 26.4小结
第27章常规DDL操作解析
- 27.1操作环境信息
- 27.2常规DDL操作示例
- 27.3二进制日志内容解析
- 27.4小结
第28章为何二进制日志中同一个事务的事件时间点会乱序
- 28.1操作环境信息
- 28.2验证前的准备
- 28.3 验证过程
第29章复制AUTO_INCREMEHT字段
- 29.1操作环境信息
- 29.2复制AUTO_INCREMEHT字段的操作示例
- 29.3 对二进制日志的解析及解释
- 29.4使用AUTO_工HCREMEHT字段时的注意事项
- 29.5小结
第3O章复制CREATE ... IF NOT EXISTS语句
- 30.1操作环境信息
- 30.2夏制CREATE ... IF OT EXISTs语句的操作演示
- 30.3 二进制日志解析结果的解释
- 30.4小结
第31章复制CEREATE TABL.E ... SEL.ECT语句
- 31.1操作环境信息
- 31.2复制CREATE TABLE ... SEL.ECT语句的操作示例
- 31.3二进制日志的解析及解释
- 31.4 使用CREATE TABL.E ... SEL.ECT语句时的注意事项
- 31.5小结
第32章在主从复制中使用不同的表定义
- 32.1操作环境信息
- 32.2主从库的表字段数不同时如何复制
- 32.3不同类型字段的复制
- 32.4小结
第33章复制中的调用功能
- 33.1操作环境信息
- 33.2夏制中的调用功能操作示例
- 33.3二进制日志的解析及解释
- 33.4小结
第34章复制LIMIT子句
- 34.1操作环境信息
- 34.2复制I.IMIT子句的操作示例
- 34.3二进制日志的解析及解释
- 34.4小结
第35章复制IDADDATA语句
- 35.1操作环境信息
- 35.2复制LOAD DATAi语句的操作示例
- 35.3 二进制日志的解析及解释
- 35.4小结
第36章系统变里max_allowed_packet对复制的影响
- 36.1系统变里简介
- 36.2操作环境信息
- 36.3 max_allowed_packet对复制的影响操作示例
- 36.4小结
第37章复制临时表
- 37.1操作环境信息
- 37.2夏制临时表的操作示例
- 37.3与临时表相关的其他注意事项
- 37.4小结
第38章复制中的事务不一致问题
- 38.1事务不一致的场景类型
- 38.2事务不—致的原因
- 38.3事务不一致的后果
- 38.4小结
需要获取这份资料的小伙伴可以直接转发+关注后扫码