首页

MySQL核心内幕.pdf

标签:MySQL     发布时间:2022-11-25   
  • 云盘下载:
  • [提取码:u7r0]
       ( 需积分:4  )


MySQL核心内幕


目录


第1章MySQL的前世今生

1.1MySQL的历史

1.2存储引擎

1.3MySQL市场

1.4后话


第2章数据库系统的立体视图

2.1数据库系统架构

2.2数据库系统的分类

2.2.1面向对象型数据库

2.2.2关系型数据库

2.2.3对象关系型数据库

2.3关系型数据库系统架构

2.3.1客户端应用程序

2.3.2查询接口

2.3.3查询语句处理

2.3.4查询优化

2.3.5语句执行

2.3.6读写文件

2.3.7模块协作

2.3.8RDBMS的层次结构

2.4MySQL数据库系统

2.4.1MySQL数据库系统架构

2.4.2子系统之间的联系

2.4.3MySQL子系统和代码

2.5小结


第3章畅游源代码

3.1下载MySQL源代码

3.1.1Bazaar安装

3.1.2访问MySQL源代码

3.2源代码目录结构

3.2.1主要关键目录

3.2.2开源社区贡献的代码

3.2.3解读sql/sql_delete.cc

3.3MySQL内核分析工具

3.3.1编译和安装MySQL

3.3.2调试MySQL

3.3.3源代码检索工具

3.3.4Doxyen分析源代码

3.4小结


第4章核心类、库函数和算法

4.1核心类

4.1.1线程类(THD)

4.1.2Item类

4.1.3表描述类-TABLE

4.1.4FIELD类

4.2函数库

4.2.1内存操作函数

4.2.2文件系统操作函数

4.2.3哈希表操作

4.2.4字符串操作

4.2.5宏定义

4.3核心算法

4.3.1Bitmaps-位图

4.3.2表连接缓冲工作原理

4.3.3MySQL排序实现

4.3.4字符集和校对规则

4.4小结


第5章连接和网络系统

5.1MySQLNET协议

5.1.1协议和操作系统协议栈

5.2网络包格式

5.2.1Null结尾字符串和带长度标识字符串

5.2.2网络包头部格式

5.3客户端发送的包

5.3.1客户端认证包

5.3.2命令包(Command)

5.4服务器端发送的包

5.4.1握手初始化包

5.4.2结果包分类

5.4.3OK包

5.4.4ERROR包

5.4.5结果集包

5.5小结


第6章服务器线程和资源管理

6.1线程还是进程

6.1.1线程与进程的比较

6.2MySQL线程问题和解决方案

6.2.1标准C函数调用

6.2.2互斥锁

6.2.3线程同步

6.3客户端请求的处理

6.3.1MySQL的启动过程

6.3.2执行流

6.4类、API、变量和结构体

6.5MySQL内存分配

6.5.1内存共享块

6.5.2线程内存区域(TMA)

6.5.3MySQL如何实现内存分配

6.6小结


第7章查询解析与优化器

7.1MySQL解析器

7.1.1词法分析程序

7.1.2语法分析器

7.1.3几个关键类

7.2查询优化器

7.2.1传统优化算法

7.2.2MySQL的查询算法

7.3小结


第8章安全管理系统

8.1账号认证

8.1.1账号定义

8.1.2身份审核

8.1.3具体优先原则

8.2权限控制

8.2.1系统权限表

8.2.2权限审核

8.2.3权限级别

8.3安全部署

8.3.1服务器系统安全

8.3.2数据库系统安全

8.4小结


第9章存储引擎接口详解与实践

9.1MySQL插件式存储引擎体系结构

9.1.1基本流程

9.1.2从源代码文件开始

9.1.3意想不到的帮助

9.1.4Handlerton

9.1.5Handler类

9.1.6Archive存储引擎的简单分析

9.2开发我的存储引擎——Lillian(模板剖析)

9.2.1底层I/O类

9.2.2Lillian_data类

9.2.3Lillian_index类

9.3开发我的存储引擎——Lillian(代码编写)

9.3.1阶段一:初始化存储引擎

9.3.2阶段二:表操作

9.3.3阶段三:读写数据

9.3.4阶段四:修改、删除数据

9.3.5阶段五:索引功能

9.4小结


第10章存储引擎

10.1MySQL元数据文件——frm

10.2MyISAM存储引擎

10.2.1MyISAM的架构

10.2.2数据文件(.MYD)

10.2.3索引文件(.MYI)

10.3InnoDB存储引擎

10.3.1InnoDB的宗旨和主要功能特性

10.3.2InnoDB的架构和代码布局

10.3.3InnoDB文件格式

10.3.4InnoDB记录结构

10.3.5InnoDB页结构

10.4小结


第11章MySQL日志功能及实现分析

11.1错误日志

11.1.1错误日志功能介绍

11.1.2错误日志初始化

11.1.3错误日志的记录实现

11.2普通日志

11.2.1普通日志功能介绍

11.2.2普通日志的初始化

11.2.3普通日志记录功能实现

11.3慢查询日志

11.3.1慢查询日志功能概述

11.3.2慢查询日志的初始化

11.3.3慢查询日志的实现

11.4二进制日志

11.4.1二进制日志功能介绍

11.4.2二进制日志的初始化

11.4.3二进制日志的实现

11.5小结


第12章其他子系统

12.1复制功能(Replication)子系统

12.1.1Replication基础架构描述

12.1.2Replication实现原理简述

12.1.3Replication复制线程

12.1.4Replication功能文件

12.1.5Replication子系统组成

12.1.6Replication原理剖析

12.1.7小结

12.2错误消息子系统

12.2.1错误消息的实现原理

12.2.2错误消息的一致性

12.2.3不同版本下错误消息的添加方法

12.2.4小结

附录一Bazaar入门指南

附录二MySQL源码分布纵览

参考文献