《MySQL DBA修炼之道》陈晓勇著 | PDF下载|ePub下载
MySQL DBA修炼之道 版权信息
- 出版社:机械工业出版社
- 出版时间:2017-02-01
- ISBN:9787111558415
- 条形码:9787111558415 ; 978-7-111-55841-5
MySQL DBA修炼之道 本书特色
本书以实战讲解为主,摒弃了生产实践中不常用的知识和技术。书中内容主要分为5部分。第壹部分介绍MySQL的应用领域和适用场景、基础架构、常见生产环境部署方式,以及MySQL安装部署方式等内容。第二部分给出DBA、开发人员需要熟悉的一些知识,比如开发基础知识,如何选择合适的数据类型、事务的隔离级别和死锁避免等。第三部分则会介绍DBA及测试人员需要熟悉的测试知识,包括自动化压力测试、硬件性能测试。第四部分对照DBA的工作讲述生产的实际操作步骤,包括如何部署、升级、迁移备份数据等内容。第五部分讲述性能调优的工具和手段,如何进行数据规划,如何设计高可用性、高性能、伸缩性良好的系统。
MySQL DBA修炼之道 内容简介
本书以实战讲解为主,摒弃了生产实践中不常用的知识和技术。书中内容主要分为5部分。第壹部分介绍MySQL的应用领域和适用场景、基础架构、常见生产环境部署方式,以及MySQL安装部署方式等内容。第二部分给出DBA、开发人员需要熟悉的一些知识,比如开发基础知识,如何选择合适的数据类型、事务的隔离级别和死锁避免等。第三部分则会介绍DBA及测试人员需要熟悉的测试知识,包括自动化压力测试、硬件性能测试。第四部分对照DBA的工作讲述生产的实际操作步骤,包括如何部署、升级、迁移备份数据等内容。第五部分讲述性能调优的工具和手段,如何进行数据规划,如何设计高可用性、高性能、伸缩性良好的系统。
MySQL DBA修炼之道 目录
推荐序
前 言
**部分 入门篇
第1章 理解MySQL 2
1.1 MySQL介绍 2
1.1.1 应用领域和适用场景 2
1.1.2 为什么那么多公司和机构选择使用MySQL 3
1.1.3 MySQL的优势是什么,它解决了什么问题 3
1.2 MySQL的基础架构和版本 4
1.2.1 软件架构中数据库的定位 4
1.2.2 MySQL的基础架构 5
1.2.3 MySQL的版本及特性 6
1.2.4 MySQL的开发周期 8
1.3 查询执行过程概述 9
1.4 MySQL权限 10
1.4.1 MySQL权限机制 10
1.4.2 赋予权限和回收权限 10
1.5 长连接、短连接、连接池 10
1.5.1 短连接 10
1.5.2 长连接 11
1.5.3 连接池 12
1.5.4 持久连接和连接池的区别 12
1.6 存储引擎简介 12
1.6.1 InnoDB引擎 12
1.6.2 MyISAM引擎 13
1.6.3 MEMORY存储引擎 13
1.6.4 ARCHIVE存储引擎 14
1.6.5 选择合适的引擎 14
1.6.6 选择何种平台 14
1.7 MySQL复制架构 15
1.8 一些基础概念 15
第2章 MySQL安装部署和入门 17
2.1 如何选择MySQL版本 17
2.2 官方版本的安装 18
2.2.1 二进制包的安装 18
2.2.2 源码编译安装 20
2.3 其他MySQL分支的安装 21
2.4 安装InnoDB Plugin 21
2.5 常用命令 22
2.5.1 使用mysql命令 22
2.5.2 使用mysqladmin命令 26
2.5.3 使用mysqldump命令 26
2.6 MySQL的主要参数设置 27
第二部分 开发篇
第3章 开发基础 30
3.1 相关基础概念 30
3.2 数据模型 33
3.2.1 关系数据模型介绍 33
3.2.2 实体–关系建模 34
3.2.3 其他数据模型 35
3.3 SQL基础 38
3.3.1 变量 39
3.3.2 保留字 40
3.3.3 MySQL注释 42
3.3.4 数据类型 43
3.3.5 函数 51
3.3.6 操作符及优先级 53
3.3.7 MySQL示例employees数据库 54
3.3.8 SQL语法 55
3.4 PHP开发 69
3.4.1 概述 69
3.4.2 客户端访问过程 69
3.4.3 开发工具 72
3.4.4 操作数据 73
3.4.5 PHP数据库开发建议 78
3.5 索引 78
3.5.1 索引介绍 78
3.5.2 使用索引的场景及注意事项 79
3.5.3 索引的错误用法 82
3.5.4 如何使用EXPLAIN工具 83
3.5.5 优化索引的方法学 90
3.6 ID主键 91
3.7 字符集和国际化支持 93
3.7.1 什么是字符集 93
3.7.2 国际化支持 93
3.7.3 字符集设置 94
第4章 开发进阶 98
4.1 范式和反范式 98
4.1.1 范式 98
4.1.2 反范式 102
4.2 权限机制和安全 104
4.2.1 MySQL访问权限系统 104
4.2.2 强化安全 106
4.2.3 SQL注入 109
4.3 慢查询日志 112
4.3.1 查看慢查询日志 112
4.3.2 使用工具分析慢查询日志 114
4.4 应用程序性能管理 118
4.4.1 为什么需要性能管理 118
4.4.2 应用性能管理概述 119
4.4.3 应用性能管理的关注点 120
4.4.4 具体应用 120
4.5 数据库设计 122
4.5.1 逻辑设计 122
4.5.2 物理设计 123
4.6 导入导出数据 127
4.6.1 规则简介 127
4.6.2 使用mysqldump导出,使用mysql导入 128
4.6.3 使用SELECT INTO OUTFILE命令导出数据 130
4.6.4 使用LOAD DATA导入数据 130
4.6.5 用mysqlimport工具导入 132
4.6.6 用mysql程序的批处理模式导出 132
4.6.7 用split切割文件,加速导入数据 133
4.7 事务和锁 133
4.7.1 概述 133
4.7.2 MyISAM的表锁 134
4.7.3 事务定义和隔离级别 135
4.7.4 InnoDB的行锁 137
4.8 死锁 141
4.9 其他特性 142
4.9.1 临时表 142
4.9.2 分区表 142
4.9.3 存储过程、触发器、外键 147
4.9.4 视图 159
第5章 开发技巧 161
5.1 存储树形数据 161
5.2 转换字符集 163
5.3 处理重复值 165
5.4 分页算法 167
5.5 处理NULL值 167
5.6 存储URL地址 169
5.7 归档历史数据 169
5.8 使用数据库存储图片 170
5.9 多表UPDATE 170
5.10 生成全局唯一ID 171
5.11 使用SQL生成升级SQL 171
第6章 查询优化 172
6.1 基础知识 172
6.1.1 查询优化的常用策略 172
6.1.2 优化器介绍 173
6.1.3 MySQL的连接机制 175
6.2 各种语句优化 176
6.2.1 连接的优化 176
6.2.2 GROUP BY、DISTINCT、ORDER BY语句优化 177
6.2.3 优化子查询 178
6.2.4 优化limit子句 179
6.2.5 优化IN列表 180
6.2.6 优化UNION 181
6.2.7 优化带有BLOB、TEXT类型字段的查询 181
6.2.8 filesort的优化 181
6.2.9 优化SQL_CALC_FOUND_ROWS 183
6.2.10 优化临时表 183
6.3 OLAP业务优化 184
第7章 研发规范 187
7.1 命名约定 187
7.2 索引 188
7.3 表设计 189
7.4 SQL语句 190
7.5 SQL脚本 191
7.6 数据架构的建议 192
7.7 开发环境、测试环境的配置参数建议 193
7.8 数据规划表 193
7.9 其他规范 194
第三部分 测试篇
第8章 测试基础 196
8.1 基础概念 196
8.2 性能测试的目的 197
8.3 基准测试 197
8.4 性能/基准测试的步骤 199
8.5 测试的注意
MySQL DBA修炼之道 作者简介
陈晓勇,70后,湖南人,擅长Oracle、Mysql数据库运维、诊断和性能调优。早期曾在某大型央企从事技术工作,参与多个系统的研发工作,04年后转向数据库领域,后在某世界500强大型工厂任专职Oracle DBA,负责核心生产库的运维,08年离开传统行业,加入移动互联网公司优视科技,主要从事Mysql的维护管理工作。从业至今,一直在一线生产,积累了丰富的系统架构、操作系统、存储、数据库产品经验,目前主要关注系统架构和Mysql数据库管理。