[toc]
# 前言
# 第一部分 基础篇
## 第1章 MySQL的安装与配置
### 1.1 MySQL的下载
### 1.2 MySQL的安装
### 1.3 MySQL的配置
### 1.4 启动和关闭MySQL服务
### 1.5 小结
## 第2章 SQL基础
### 2.1 SQL简介
### 2.2 (My)SQL使用入门
### 2.3 帮助的使用
### 2.4 查询元数据信息
### 2.5 小结
## 第3章 MySQL支持的数据类型
### 3.1 数值类型
### 3.2 日期时间类型
### 3.3 字符串类型
### 3.4 小结
## 第4章 MySQL中的运算符
### 4.1 算术运算符
### 4.2 比较运算符
### 4.3 逻辑运算符
### 4.4 位运算符
### 4.5 运算符的优先级
### 4.6 小结
## 第5章 常用函数
### 5.1 字符串函数
### 5.2 数值函数
### 5.3 日期和时间函数
### 5.4 流程函数
### 5.5 其他常用函数
### 5.6 小结
## 第6章 图形化工具的使用
### 6.1 MySQL Workbench
### 6.2 phpMyAdmin
### 6.3 小结
# 第二部分 开发篇
## 第7章 表类型(存储引擎)的选择
### 7.1 MySQL存储引擎概述
### 7.2 各种存储引擎的特性
### 7.3 如何选择合适的存储引擎
### 7.4 小结
## 第8章 选择合适的数据类型
### 8.1 CHAR与VARCHAR
### 8.2 TEXT与BLOB
### 8.3 浮点数与定点数
### 8.4 日期类型选择
### 8.5 小结
## 第9章 字符集
### 9.1 字符集概述
### 9.2 Unicode简述
### 9.3 汉字及一些常见字符集
### 9.4 怎样选择合适的字符集
### 9.5 MySQL支持的字符集简介
### 9.6 MySQL字符集的设置
### 9.7 字符集的修改步骤
### 9.8 小结
## 第10章 索引的设计和使用
### 10.1 索引概述
### 10.2 设计索引的原则
### 10.3 BTREE索引与HASH索引
### 10.4 小结
## 第11章 视图
### 11.1 什么是视图
### 11.2 视图操作
### 11.3 小结
## 第12章 存储过程和函数
### 12.1 什么是存储过程和函数
### 12.2 存储过程和函数的相关操作
### 12.3 小结
### 第13章 触发器
### 13.1 创建触发器
### 13.2 删除触发器
### 13.3 查看触发器
### 13.4 触发器的使用
### 13.5 小结
## 第14章 事务控制和锁定语句
### 14.1 LOCK TABLE和UNLOCK TABLE
### 14.2 事务控制
### 14.3 分布式事务的使用
### 14.4 小结
## 第15章 SQL中的安全问题
### 15.1 SQL注入简介
### 15.2 应用开发中可以采取的应对措施
### 15.3 小结
## 第16章 SQL Mode及相关问题
### 16.1 MySQL SQL Mode简介
### 16.2 SQL Mode的常见功能
### 16.3 常用的SQL Mode
### 16.4 SQL Mode在迁移中如何使用
### 16.5 小结
## 第17章 MySQL分区
### 17.1 分区概述
### 17.2 分区类型
### 17.3 分区管理
### 17.4 小结
# 第三部分 优化篇
## 第18章 SQL优化
### 18.1 优化SQL语句的一般步骤
### 18.2 索引问题
### 18.3 两个简单实用的优化方法
### 18.4 常用SQL的优化
### 18.5 常用SQL技巧
### 18.6 小结
## 第19章 优化数据库对象
### 19.1 优化表的数据类型
### 19.2 通过拆分提高表的访问效率
### 19.3 逆规范化
### 19.4 使用中间表提高统计查询速度
### 19.5 小结
## 第20章 锁问题
### 20.1 MySQL锁概述
### 20.2 MyISAM表锁
### 20.3 InnoDB锁问题
### 20.4 小结
## 第21章 优化MySQL Server
### 21.1 MySQL体系结构概览
### 21.2 MySQL内存管理及优化
### 21.3 InnoDB log机制及优化
### 21.4 调整MySQL并发相关的参数
### 21.5 小结
## 第22章 磁盘I/O问题
### 22.1 使用磁盘阵列
### 22.2 虚拟文件卷或软RAID
### 22.3 使用Symbolic Links分布 I/O
### 22.4 禁止操作系统更新文件的atime属性
### 22.5 用裸设备(Raw Device)存放 InnoDB的共享表空间
### 22.6 调整I/O调度算法
### 22.7 RAID卡电池充放电问题
### 22.8 NUMA架构优化
### 22.9 小结
## 第23章 应用优化
### 23.1 使用连接池
### 23.2 减少对MySQL的访问
### 23.3 负载均衡
### 23.4 其他优化措施
### 23.5 小结
# 第四部分 管理维护篇
## 第24章 MySQL高级安装和升级
### 24.1 Linux/UNIX平台下的安装
### 24.2 源码包安装的性能考虑
### 24.3 升级MySQL
### 24.4 MySQL降级
### 24.5 小结
## 第25章 MySQL中的常用工具
### 25.1 mysql(客户端连接工具)
### 25.2 myisampack(MyISAM表压缩工具)
### 25.3 mysqladmin(MySQL管理工具)
### 25.4 mysqlbinlog(日志管理工具)
### 25.5 mysqlcheck(MyISAM表维护工具)
### 25.6 mysqldump(数据导出工具)
### 25.7 mysqlhotcopy(MyISAM表热备份工具)
### 25.8 mysqlimport(数据导入工具)
### 25.9 mysqlshow(数据库对象查看工具)
### 25.10 perror(错误代码查看工具)
### 25.11 replace(文本替换工具)
### 25.12 小结
## 第26章 MySQL日志
### 26.1 错误日志
### 26.2 二进制日志
### 26.3 查询日志
### 26.4 慢查询日志
### 26.5 mysqlsla简介
### 26.6 小结
## 第27章 备份与恢复
### 27.1 备份/恢复策略
### 27.2 逻辑备份和恢复
### 27.3 物理备份和恢复
### 27.4 表的导入导出
### 27.5 小结
## 第28章 MySQL权限与安全
### 28.1 MySQL权限管理
### 28.2 MySQL安全问题
### 28.3 其他安全设置选项
### 28.4 小结
## 第29章 MySQL监控
### 29.1 如何选择一个监控方案
### 29.2 常用网络监控工具
### 29.3 Zabbix 部署
### 29.4 小结
## 第30章 MySQL常见问题和应用技巧
### 30.1 忘记MySQL的root密码
### 30.2 如何处理MyISAM存储引擎的表损坏
### 30.3 MyISAM表超过 4GB无法访问的问题
### 30.4 数据目录磁盘空间不足的问题
### 30.5 DNS反向解析的问题
### 30.6 mysql.sock丢失后如何连接数据库
### 30.7 同一台服务器运行多个MySQL数据库
### 30.8 客户端怎么访问内网数据库
### 30.9 小结
# 第五部分 架构篇
## 第31章 MySQL复制
### 31.1 复制概述
### 31.2 复制搭建过程
### 31.3 主要复制启动选项
### 31.4 日常管理维护
### 31.5 切换主从库
### 31.6 小结
## 第32章 MySQL Cluster
### 32.1 MySQL Cluster架构
### 32.2 MySQL Cluster的配置
### 32.3 开始使用Cluster
### 32.4 维护Cluster
### 32.5 小结
## 第33章 高可用架构
### 33.1 MMM架构
### 33.2 MHA架构
### 33.3 安装部署MHA
### 33.4 小结