《MySQL技术精粹 架构、高级特性、性能优化与集群实战》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张工厂著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302420439
  • 页数:405 页
图书介绍:本书面向MySQL中高级用户,结合作者实际工作中的开发和管理经验,围绕MySQL应用架构,主要讲解MySQL架构、高级特性、性能优化和监控、复制、高可用集群的配置管理等高级知识。本书适合已经掌握了MySQL基础知识,想进一步学习MySQL数据库的管理人员和开发人员阅读。

第1章 MySQL架构介绍 1

1.1 MySQL架构 1

1.1.1 MySQL物理文件的组成 2

1.1.2 MySQL各逻辑块简介 4

1.1.3 MySQL各逻辑块协调工作 6

1.2 MySQL存储引擎概述 7

1.3 MySQL各种存储引擎的特性 10

1.3.1 MyISAM 10

1.3.2 InnoDB 12

1.3.3 MEMORY 15

1.3.4 MERGE 18

1.3.5 BerkeleyDB存储引擎 20

1.4 MySQL工具 21

1.4.1 MySQL命令行实用程序 21

1.4.2 MySQL Workbench 33

1.5 本章小结 34

第2章 MySQL权限与安全 35

2.1 权限表 35

2.1.1 user表 35

2.1.2 db表和host表 37

2.1.3 tables_priv表和columns_riv表 39

2.1.4 procs_riv表 40

2.2 账户管理 41

2.2.1 登录和退出MySQL服务器 41

2.2.2 新建普通用户 43

2.2.3 删除普通用户 47

2.2.4 root用户修改自己的密码 48

2.2.5 root用户修改普通用户密码 50

2.2.6 普通用户修改密码 51

2.2.7 root用户密码丢失的解决办法 51

2.3 权限管理 53

2.3.1 MySQL的各种权限 53

2.3.2 授权 55

2.3.3 收回权限 57

2.3.4 查看权限 58

2.4 访问控制 59

2.4.1 连接核实阶段 59

2.4.2 请求核实阶段 60

2.5 MySQL的安全问题 61

2.5.1 操作系统相关的安全问题 61

2.5.2 数据库相关的安全问题 62

2.6 使用SSL安全连接 71

2.7 综合管理用户权限 77

2.8 小结 80

第3章 数据备份与还原 81

3.1 数据备份 81

3.1.1 使用mysqldump命令备份 81

3.1.2 直接复制整个数据库目录 88

3.1.3 使用mysqlhotcopy工具快速备份 88

3.2 数据还原 89

3.2.1 使用MySQL命令还原 89

3.2.2 直接复制到数据库目录 90

3.2.3 mysqlhotcopy快速恢复 90

3.3 数据库迁移 90

3.3.1 相同版本的MySQL数据库之间的迁移 91

3.3.2 不同版本的MySQL数据库之间的迁移 91

3.3.3 不同数据库之间的迁移 92

3.4 表的导出和导入 92

3.4.1 使用SELECT…INTO OUTFILE导出文本文件 92

3.4.2 用mysqldump命令导出文本文件 95

3.4.3 用MySQL命令导出文本文件 98

3.4.4 使用LOAD DATA INFILE方式导入文本文件 101

3.4.5 使用mysqlimport命令导入文本文件 103

3.5 综合实例——数据的备份与恢复 105

3.6 小结 109

第4章 MySQL的高级特性 110

4.1 MySQL查询缓存 110

4.1.1 认识查询缓存 110

4.1.2 监控和维护查询缓存 115

4.1.3 如何检查缓存命中率 117

4.1.4 优化查询缓存 118

4.2 合并表和分区表 119

4.2.1 合并表 119

4.2.2 分区表 121

4.3 事务控制 131

4.4 MySQL分布式事务 135

4.4.1 了解分布式事务的原理 135

4.4.2 分布式事务的语法 136

4.5 小结 137

第5章 MySQL锁定机制 138

5.1 MySQL锁定机制概述 138

5.2 MyISAM表级锁 143

5.2.1 MyISAM表级锁的锁模式 143

5.2.2 获取MyISAM表级锁的争用情况 145

5.2.3 MyISAM表级锁加锁方法 146

5.2.4 MyISAM Concurrent Insert的特性 148

5.2.5 MyISAM表锁优化建议 150

5.3 InnoDB行级锁 150

5.3.1 InnoDB行级锁模式 150

5.3.2 获取InnoDB行级锁的争用情况 155

5.3.3 InnoDB行级锁的实现方法 157

5.3.4 间隙锁(Net-Key锁) 162

5.3.5 InnoDB在不同隔离级别下加锁的差异 163

5.3.6 InnoDB存储引擎中的死锁 164

5.3.7 InnoDB行级锁优化建议 166

5.4 小结 167

第6章 使用MySQL Workbench管理数据库 168

6.1 MySQL Workbench简介 168

6.1.1 MySQL Workbench的概述 168

6.1.2 MySQL Workbench的优势 169

6.1.3 MySQL Workbench的安装 169

6.2 SQL Development的基本操作 171

6.2.1 创建数据库连接 171

6.2.2 创建新的数据库 173

6.2.3 创建和删除新的数据表 174

6.2.4 添加、修改表记录 177

6.2.5 查询表记录 178

6.2.6 修改表结构 178

6.3 Data Modeling的基本操作 179

6.3.1 建立ER模型 179

6.3.2 导入ER模型 184

6.4 Server Administration的基本操作 185

6.4.1 管理MySQL用户 186

6.4.2 备份MySQL数据库 188

6.4.3 还原MySQL数据库 191

6.5 小结 192

第7章 SQL性能优化 193

7.1 优化简介 193

7.2 MySQL Query Optimizer概述 194

7.3 SQL语句优化的基本思路 194

7.4 利用EXPLAIN分析查询语句 196

7.4.1 EXPLAIN语句的基本语法 196

7.4.2 EXPLAIN语句分析实例 208

7.5 利用Profiling分析查询语句 212

7.6 合理地使用索引 216

7.6.1 索引对查询速度的影响 216

7.6.2 如何使用索引查询 217

7.7 不同类型SQL语句优化方法 220

7.7.1 优化INSERT语句 220

7.7.2 优化ORDER BY语句 221

7.7.3 优化GROUP BY语句 222

7.7.4 优化嵌套查询 223

7.7.5 优化OR条件 224

7.7.6 优化插入记录的速度 226

7.8 优化数据库结构 228

7.8.1 将字段很多的表分解成多个表 228

7.8.2 增加中间表 230

7.8.3 增加冗余字段 231

7.9 分析表、检查表和优化表 232

7.9.1 分析表 232

7.9.2 检查表 233

7.9.3 优化表 233

7.10 小结 234

第8章 MySQL服务器性能优化 235

8.1 MySQL源码安装的性能优化 235

8.2 MySQL服务器配置优化 238

8.2.1 查看性能参数的方法 238

8.2.2 key_ buffer size的设置 243

8.2.3 table cache的设置 246

8.2.4 内存参数的设置 248

8.2.5 日志和事务参数的设置 252

8.2.6 存储和I/O相关参数的设置 253

8.2.7 其他重要参数的设置 254

8.3 MySQL日志设置优化 256

8.4 MySQL I/O设置优化 257

8.5 MySQL并发设置优化 259

8.6 线程、Table Cache和临时表的优化 261

8.6.1 线程的优化 261

8.6.2 关于table cache相关的优化 262

8.6.3 关于临时表的优化 263

8.7 小结 264

第9章 MySQL性能监控 265

9.1 基本监控系统方法 265

9.1.1 ps命令 265

9.1.2 top命令 266

9.1.3 vmstat命令 268

9.1.4 mytop命令 269

9.1.5 sysstat工具 272

9.2 开源监控利器Nagios实战 277

9.2.1 安装Nagios之前的准备工作 277

9.2.2 安装Nagios主程序 279

9.2.3 整合Nagios到Apache服务 280

9.2.4 安装Nagios插件包 284

9.2.5 监控服务器的CPU、负载、磁盘I/O使用情况 286

9.2.6 配置Nagios监控MySQL服务器 291

9.3 MySQL监控利器Cacti实战 293

9.3.1 Cacti工具的安装 294

9.3.2 Cacti监控MySQL服务器 299

9.4 小结 304

第10章 MySQL Replication 305

10.1 MySQL Replication概述 305

10.2 Windows环境下的MySQL主从复制 306

10.2.1 复制前的准备工作 306

10.2.2 Windows环境下实现主从复制 306

10.2.3 Windows环境下主从复制测试 314

10.3 Linux环境下的MySQL复制 315

10.3.1 下载并安装MySQL 5.6 315

10.3.2 单机主从复制前的准备工作 316

10.3.3 mysqld_ multi实现单机主从复制 320

10.3.4 不同服务器之间实现主从复制 328

10.3.5 MySQL主要复制启动选项 329

10.3.6 指定复制的数据库或者表 330

10.4 查看Slave的复制进度 338

10.5 日常管理和维护 339

10.5.1 了解服务器的状态 339

10.5.2 服务器复制出错的原因 340

10.6 切换主从服务器 343

10.7 小结 347

第11章 MySQL Cluster实战 348

11.1 MySQL Cluster概述 348

11.1.1 MySQL Cluster基本概念 348

11.1.2 理解MySQL Cluster节点 349

11.2 Linux环境下MySQL Cluster安装和配置 350

11.2.1 安装MySQL Cluster 7.2.8 软件 352

11.2.2 管理节点配置步骤 357

11.2.3 配置SQL节点和数据节点 358

11.3 管理MySQL Cluster 358

11.3.1 Cluster的启动 358

11.3.2 Cluster的测试 360

11.3.3 Cluster的关闭 363

11.4 维护MySQL Cluster 363

11.4.1 Cluster的日志的管理 366

11.4.2 Cluster的联机备份 367

11.4.3 Cluster的数据恢复 368

11.5 Windows操作系统中配置Cluster 369

11.6 小结 374

第12章 企业中MySQL的高可用架构 375

12.1 MySQL高可用的简单介绍 375

12.2 MySQL主从复制 375

12.2.1 MySQL主从架构设计 376

12.2.2 配置环境 376

12.2.3 服务器的安装配置 376

12.2.4 LVS的安装配置 379

12.3 MySQL+DRBD+HA 381

12.3.1 什么是DRBD 381

12.3.2 MySQL+DRBD+HA架构设计 382

12.3.3 配置环境 382

12.3.4 安装配置Heartbeat 383

12.3.5 安装配置DRBD 385

12.4 Lvs+Keepalived+MySQL单点写入主主同步方案 388

12.4.1 配置环境 388

12.4.2 Lvs+Keepalived的安装 393

12.4.3 Lvs+Keepalived的配置 394

12.4.4 Master和Backup的启动 397

12.5 MMM高可用MySQL方案 397

12.5.1 MMM的架构 398

12.5.2 配置环境 398

12.5.3 MMM的安装 402

12.5.4 Monitor服务器的配置 402

12.5.5 各个数据库服务器的配置 404

12.5.6 MMM的管理 404

12.6 小结 405