⽬录升级《深⼊理解MySQL主从原理32讲》完结篇
导读:
⾼鹏(⽹名⼋怪),《深⼊理解MySQL主从原理32讲》系列⽂的作者。 本系列通过GTID部分、Event部分、主库部分、从库部分四⼤块来详细讲解主从原理
点击下图可订阅
《深⼊理解MySQL主从原理32讲》作者⼋怪(⾼鹏),现任易极付⾼级DBA 从事Oracle/MySQL相关⼯作10余年,Oracle OCM,有丰富的数据库性能调优,故障诊断经验。
现全部32节系列⽂章已全部更新完毕,本⽂补充了该系列的详细⽬录,并在知数堂进⾏⾸发。借此也对本次系列专栏做⼀次总结。
欢迎⼤家继续与我进⾏交流,讨论。技术⽆边界,学习⽆⽌境。
⼀、⽬录详情
第1节:GTID的基本概念
1.1 GTID的作⽤
1.2 GTID的基本表⽰
1.3 server_uuid的⽣成
1.4 GTID的⽣成
1.5 GTID_LOG_EVENT和PREVIOUS_GTIDS_LOG_EVENT简介
1.6 gtid_executed表的作⽤
第2节:id_executed表/gtid_executed变量/gtid_purged变量的更改时机
2.id_executed表/gtid_executed变量/gtid_purged变量的作⽤
2.2 修改时机图解
2.3 主库修改时机
2.4 从库修改时机
2.5 通⽤修改时机
2.6 通⽤更改时机源码函数简析
第3节:GTID模块初始化简介和参数binlog_gtid_simple_recovery
3.1 简化的初始化流程图
3.2 步骤解析
第4节:GTID中的运维
4.1 如何跳过⼀个事务
4.2 mysqldump导出⾏为的改变
4.4 主从切换
4.5 gitd_mode参数的含义
line开启GTID
4.7 offline开启GTID
4.8 开启GTID的注意事项
4.9 ONGOING_ANONYMOUS_TRANSACTION_COUNT统计值的变更时机
4.10 设置MASTER_AUTO_POSITION = 1的影响
4.11 offline开启GTID丢失数据的测试
第5节:Binary log Event 的总体格式
5.1 binary log综述
5.2 Event的总体格式
5.3 Event header和Event footer
5.4 具体解析
5.5 本系列将介绍Event的type code
第6节:⎡重点⎦Event FORMAT_DESCRIPTION_EVENT/PREVIOUS_GTIDS_LOG_EVENT
6.1 FORMAT_DESCRIPTION_EVENT
6.1.1 FORMAT_DESCRIPTION_EVENT的作⽤
6.1.2 源码重要接⼝
6.1.3 主体格式
6.1.4 实例解析
6.1.5 ⽣成时机
6.2 PREVIOUS_GTIDS_LOG_EVENT
6.2.1 PREVIOUS_GTIDS_LOG_EVENT的作⽤
6.2.2 源码重要接⼝
6.2.3 主体格式
6.2.4 实例解析
6.2.5 ⽣成时机
第7节:⎡重点⎦Event GTID_LOG_EVENT
7.1 GTID_LOG_EVENT
7.1.1 GTID_LOG_EVENT的作⽤
7.1.2 源码重要接⼝
7.1.3 主体格式
7.1.4 简单解析
7.1.5 ⽣成时机
7.1.6 ANONYMOUS_GTID_LOG_EVENT
7.1.7 GTID 三种模式
第8节:⎡重点⎦Event QUERY_EVENT/MAP_EVENT
8.1 QUERY_EVENT
8.1.1 QUERY_EVENT的作⽤
8.1.2 源码重要接⼝
8.1.3 主体格式
8.1.5 ⽣成时机
8.2 MAP_EVENT
8.2.1 MAP_EVENT的作⽤
8.2.2 源码重要接⼝
8.2.3 主体格式
8.2.4 实例解析
8.2.5 ⽣成时机
第9节: ⎡重点⎦Event WRITE_ROWS_EVENT/DELETE_ROWS_EVENT
9.1 WRITE_ROWS_EVENT
9.1.1 WRITE_ROWS_EVENT 的作⽤
9.1.2 源码重要接⼝
9.1.3 主体格式
9.1.4 实例解析
9.1.5 ⽣成时机
9.1.6 修改数据不⽌⼀⾏的情况
9.1.7 写⼊binlog cache时机
9.2 DELETE_ROWS_EVENT
9.2.1 DELETE_ROWS_EVENT 的作⽤
9.2.2 源码重要接⼝
9.2.3 主体格式
9.2.4 实例解析
第10节:⎡重点⎦Event UPDATE_ROWS_EVENT/XID_EVENT
10.1 UPDATE_ROWS_EVENT
10.1.1 UPDATE_ROWS_EVENT 的作⽤
10.1.2 源码重要接⼝
10.1.3 主体格式
10.1.4 实例解析
10.2 XID_EVENT
10.2.1 XID的作⽤
10.2.2 XID_EVENT的作⽤
10.2.3 源码重要接⼝
10.2.4 主体格式
10.2.5 实例解析
10.2.6 ⽣成时机
第11节:参数binlog_row_image的影响
11.1 参数影响
11.2 过滤⽅式
11.3 DML Event中的标识
第12节:巧⽤Event发现问题
12.1 分析长期未提交的事务
12.2 分析⼤事务
12.3 分析binary log中Event的⽣成速度
12.4 分析每个表⽣成了多少DML Event
第13节:binlog cache简介
13.1 binlog cache总体图解
13.2 使⽤binlog cache的⼤概流程
13.3 binlog_cache_size作⽤及其初始化
13.4 binlog cache临时⽂件的分配和使⽤
13.5 参数max_binlog_cache_size的作⽤
13.6 如何观察到binlog cache临时⽂件的存在
第14节:事务Event的⽣成和写⼊流程
14.1 整体流程图解
14.2 删除阶段
14.3 提交阶段
第15节:MySQL层事务提交流程简析
15.1 参数设置和说明
15.2 总体流程图
15.3 步骤解析第⼀阶段
15.4 步骤解析第⼆阶段
15.5 步骤解析第三阶段
15.6 步骤解析第三阶段
15.7 步骤解析第五阶段
15.8 总结
第16节:基于WRITESET的并⾏复制⽅式
16.1 奇怪的last commit
16.2 Writeset是什么
16.3 Writeset的⽣成
16.4 函数add_pke的⼤概流程
16.5 Writeset设置对last commit的处理⽅式
16.6 Writeset的历史MAP
16.7 Writeset的并⾏复制对last commit的处理流程
16.8 WRITESET_SESSION的⽅式
16.9 关于binlog_transaction_dependency_history_size参数说明
16.10 没有主键的情况
16.11 为什么同⼀个session执⾏的事务也能⽣成同样的last commit
第17节:主库的DUMP线程
17.1 POSITION MODE模式和GTID AUTO_POSITION MODE模式的不同 17.1.1 POSITION模式
17.1.2 AUTO_POSITION模式
17.3 步骤解析
17.4 总结
第18节:DUMP线程查和过滤GTID的基本算法
18.1 环境假设
18.2 检查从库的GTID是否⼤于主库的GTID
18.3 根据GTID检查从库需要的binary log是否已经被清理
18.4 实际扫描主库的binary log,检查从库需要的binary log是否已经被清理18.5 进⾏GTID的过滤,决定发送哪些事务给从库
第19节:从库MTS多线程并⾏回放(⼀)
19.1 综述
19.2 协调线程的分发机制图解
19.3 步骤解析
19.4 并⾏回放判定的例⼦
第20节:从库MTS多线程并⾏回放(⼆)
mysql高级教程视频20.1 ⼯作线程执⾏Event
20.2 MTS中检查点中的重要概念
20.3 MTS中的检查点的流程图解
20.4 总结
第21节:MTS中GAP测试和参数slave_preserve_commit_order
21.1 MTS中GAP测试
21.2 参数slave_preserve_commit_order的影响
第22节:从库的IO线程
22.1 IO线程的启动流程图
22.2 流程解析
第23节:从库的SQL线程(MTS协调线程)和参数sql_slave_skip_counter 23.1 流程图
23.2 重要步骤说明
23.3 各个Event⼤概做了什么
23.3.1 GTID_EVENT
23.3.2 QUERY_EVENT
23.3.3 MAP_EVENT
23.3.4 DELETE_EVENT
23.3.5 XID_EVENT
第24节:从库数据的查和参数slave_rows_search_algorithms
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论