前言 1
第1章 MySQL的历史与架构 7
MySQL的历史 7
MySQL的架构 9
第2章 MySQL源代码基本要点 25
Unix Shell 25
BitKeeper 25
准备系统:从BitKeeper树构建MySQL 28
从BitKeeper树构建MySQL 30
从源代码分发版本构建 32
将MySQL安装到系统目录 33
源代码目录布局 33
准备系统:在调试程序中运行MySQL 35
以调试程序为向导探索源代码 36
gdb使用基本要点 37
在源代码中查找信息 40
值得关注的断点和变量 42
修改源代码 44
编码指南 44
不断更新BitKeeper知识库 47
提交补丁 48
第3章 核心类、结构、变量及API 49
THD 49
NET 55
TABLE 57
Field 61
实用程序API调用 64
处理器宏 69
全局变量 71
第4章 客户端/服务器通信 75
协议概述 75
包格式 75
MySQL协议与OS层之间的关系 76
验证握手 77
命令包 83
服务器响应 88
第5章 配置变量 95
配置变量教程 95
特定配置变量的各有关方面 103
第6章 基于线程的请求处理 123
线程与进程 123
请求处理的实现 125
线程编程问题 129
第7章 存储引擎接口 136
Handler类 136
向MySQL添加定制存储引擎 157
第8章 并发访问与锁定 179
表锁管理器 180
第9章 解析器和优化器 185
解析器 185
优化器 188
第10章 存储引擎 214
架构的相同之处 215
InnoDB 222
Memory(Heap) 223
MyISAM Merge 224
NDB 224
Archive 225
Federated 226
第11章 事务 227
事务存储引擎实现概述 227
实现处理器子类 228
定义handlerton 231
使用查询高速缓存 232
使用复制二进制日志 233
避免死锁 233
第12章 复制 235
概述 235
基于语句的复制与基于行的复制 236
双线程从服务器 237
多主服务器 238
有助于理解复制的SQL命令 238
二进制日志格式 242
创建自定义复制实用程序 246