继《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.2数据同步方法
  3. 1.3 数据同步类型
  4. 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小结

 

需要获取这份资料的小伙伴可以直接转发+关注后扫码