在超大规模流量的分布式系统环境下,无论是从系统性能的角度,还是从数据安全性的角度,掌握MySQL主从原理,都是当下技术人员的必备基本功。MySQL主从原理是高可用架构的基石,即便是MGR这种集群架构也可以看到主从的影子。要解决一个问题或者故障,*快的方式就是了解它的原理,快速定位问题。本书从源码层面抽丝剥茧般地描述MySQL主从原理,全面地介绍了GTID相关的知识点,并解析了主要Event的生成、作用和格式,以及线程的初步知识、MDL LOCK、排序等热门话题和主从相关的案例。无论是MySQL DBA和MySQL源码爱好者,还是刚进入数据库行业的小白读者,通过阅读本书,都能通过源码级分析,更好地理解和使用MySQL主从复制技术。
作者简介
内容简介
专家赞誉
前言
读者服务
第1章 GTID
1.1 GTID的基本概念
1.2 mysql.gtid_executed表、gtid_executed变量、gtid_purged变量的修改时机
1.3 GTID模块初始化简介和参数binlog_gtid_simple_recovery
1.4 GTID中的运维
第2章 Event
2.1 binary log Event的总体格式
2.2 重点Event之FORMAT_DESCRIPTION_EVENT和PREVIOUS_GTIDS_LOG_EVENT
2.3 重点Event之GTID_EVENT
2.4 重点Event之QUERY_EVENT和MAP_EVENT
2.5 重点Event之WRITE_EVENT和DELETE_EVENT
2.6 重点Event之UPDATE_EVENT和XID_EVENT
2.7 参数binlog_row_image的影响
2.8 巧用Event发现问题
第3章 主库
3.1 binlog cache简介
3.2 事务Event的生成和写入流程
3.3 My SQL层事务提交流程简析
3.4 基于WRITESET的并行复制方式
3.5 主库的DUMP线程
3.6 DUMP线程查找和过滤GTID的基本算法
第4章 从库
4.1 从库MTS多线程并行回放(一)
4.2 从库MTS多线程并行回放(二)
4.3 MTS中的“gap”测试和参数lave_preserve_commit_order
4.4 从库的I/O线程
4.5 从库的SQL线程(MTS协调线程)和参数sql_slave_skip_counter
4.6 从库数据的查找和参数slave_rows_search_algorithms
4.7 从库的关闭和异常恢复流程
4.8 安全高效的从库设置
4.9 从库Seconds_Behind_Master的计算方式
4.10 Seconds_Behind_Master延迟场景归纳
第5章 案例解析
5.1 线程简介和My SQL调试环境搭建
5.2 My SQL排序详细解析
5.3 My SQL中的MDL Lock简介
5.4 奇怪的FTWRL堵塞案例
5.5 产生大量小relay log故障案例
5.6 从库system lock状态原因简析

