展开全部

主编推荐语

领域排头,畅行全球,天团献译,从业必收。

内容简介

《高性能MySQL(第3版)》是MySQL 领域的经典之作,拥有广泛的影响力。第3版更新了大量的内容,不但涵盖了最新MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。《高性能MySQL(第3版)》不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。编辑推荐《高性能MySQL(第3版)》编辑推荐:“只要你不敢以MySQL专家自诩,又岂敢错过这本神书?”“一言以蔽之,写得好,编排得好,需要参考时容易到爆!”“我可是从头到尾看了一遍上一版,可还是毫不犹豫拿起了这本《高性能MySQL(第3版)》,而且看完后一点都不后悔……”作者简介作者:(美国)施瓦茨 (美国)扎伊采夫 (美国)特卡琴科 译者:宁海元 周振兴 彭立勋Baron Schwartz 是一位软件工程师,居住在弗吉尼亚州的Charlottesville,网络常用名是Xaprb,这是按照QWERTY 键盘的顺序在Dvorak 键盘上打出来的名字。在不忙于解决有趣的编程挑战时,Baron 会和他的妻子Lynn 以及小狗Carbon 一起享受闲暇的时光。他有一个软件工程方面的博客,地址是http://www.xaprb.com/blog/Peter Zaitsev 曾经是MySQL AB 公司高性能组的经理,目前在运作mysqlperformance blog.com 网站。他擅长于帮助那些每天有数以百万计访问量的网站的管理员解决问题,这些网站通常需要几百台机器来处理TB 级的数据。他常常为了解决一个问题而不停地升级硬件和软件(比如查询优化)。Peter 还经常在各种会议上演讲。Vadim Tkachenko 曾经是MySQL AB 公司的性能工程师。作为一名在多线程编程和同步方面的专家,他的主要工作是基准测试、性能剖析,以及找出系统的性能瓶颈。他还在性能监控和调优方面做了一些工作,使得MySQL 在多核机器上有更好的可扩展性。宁海元:有超过十年的数据库管理经验, 从最初的SQL Server 2000 到Oracle 再到MySQL,擅长数据库高可用架构、性能优化和故障诊断。2007 年加入淘宝,带领淘宝DBA 团队完成了数据库的垂直拆分、水平拆分,迁移到MySQL 体系等主要工作,为淘宝业务的快速增长提供支撑。目前专注于无线数据领域。网络常用名NinGoo,个人博客:http://www.ningoo.net周振兴:毕业于北京师范大学数学系,2009 年加入淘宝数据库团队,负责MySQL 运维管理工作,有丰富的MySQL 性能优化、Troubleshooting 经验,对MySQL 主要模块的实现和原理有深入的研究,经历了淘宝MySQL 实例从30 到3000 的发展,对系统架构、高可用环境规划都有深入理解。个人博客:http://orczhou.com彭立勋:2010 年大学毕业后加入阿里巴巴运维部。作为一名MySQL DBA, 在运维MySQL 的过程中对MySQL 和InnoDB 的一些功能和缺陷进行了补充,编写了多主复制和数据闪回等补丁。目前在阿里集团核心系统研发部数据库组,专注于MySQL 数据库相关的开发工作。后来一些补丁被MySQL 之父Mony 看中,多主复制、线程内存监控等补丁被合并到了MariaDB 10.0 版本,本人也因此成为MariaDB 提交组(Maria-captains)成员。翟卫祥:毕业于武汉大学,研究生阶段从事数据库相关研究。毕业后就职于阿里巴巴集团数据库技术团队至今,主要负责阿里内部MySQL 代码分支维护,包括MySQL Bug Fix及新特性开发。对MySQL 内核有一定的研究。刘辉:2008 年毕业于西安电子科技大学计算机系,硕士学位。2011 年加入阿里巴巴集团数据库技术团队,花名希羽,MySQL 内核开发工程师。
内容简介《高性能MySQL(第3版)》是MySQL 领域的经典之作,拥有广泛的影响力。第3版更新了大量的内容,不但涵盖了最新MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。《高性能MySQL(第3版)》不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。编辑推荐《高性能MySQL(第3版)》编辑推荐:“只要你不敢以MySQL专家自诩,又岂敢错过这本神书?”“一言以蔽之,写得好,编排得好,需要参考时容易到爆!”“我可是从头到尾看了一遍上一版,可还是毫不犹豫拿起了这本《高性能MySQL(第3版)》,而且看完后一点都不后悔……”作者简介作者:(美国)施瓦茨 (美国)扎伊采夫 (美国)特卡琴科 译者:宁海元 周振兴 彭立勋Baron Schwartz 是一位软件工程师,居住在弗吉尼亚州的Charlottesville,网络常用名是Xaprb,这是按照QWERTY 键盘的顺序在Dvorak 键盘上打出来的名字。在不忙于解决有趣的编程挑战时,Baron 会和他的妻子Lynn 以及小狗Carbon 一起享受闲暇的时光。他有一个软件工程方面的博客,地址是http://www.xaprb.com/blog/Peter Zaitsev 曾经是MySQL AB 公司高性能组的经理,目前在运作mysqlperformance blog.com 网站。他擅长于帮助那些每天有数以百万计访问量的网站的管理员解决问题,这些网站通常需要几百台机器来处理TB 级的数据。他常常为了解决一个问题而不停地升级硬件和软件(比如查询优化)。Peter 还经常在各种会议上演讲。Vadim Tkachenko 曾经是MySQL AB 公司的性能工程师。作为一名在多线程编程和同步方面的专家,他的主要工作是基准测试、性能剖析,以及找出系统的性能瓶颈。他还在性能监控和调优方面做了一些工作,使得MySQL 在多核机器上有更好的可扩展性。宁海元:有超过十年的数据库管理经验, 从最初的SQL Server 2000 到Oracle 再到MySQL,擅长数据库高可用架构、性能优化和故障诊断。2007 年加入淘宝,带领淘宝DBA 团队完成了数据库的垂直拆分、水平拆分,迁移到MySQL 体系等主要工作,为淘宝业务的快速增长提供支撑。目前专注于无线数据领域。网络常用名NinGoo,个人博客:http://www.ningoo.net周振兴:毕业于北京师范大学数学系,2009 年加入淘宝数据库团队,负责MySQL 运维管理工作,有丰富的MySQL 性能优化、Troubleshooting 经验,对MySQL 主要模块的实现和原理有深入的研究,经历了淘宝MySQL 实例从30 到3000 的发展,对系统架构、高可用环境规划都有深入理解。个人博客:http://orczhou.com彭立勋:2010 年大学毕业后加入阿里巴巴运维部。作为一名MySQL DBA, 在运维MySQL 的过程中对MySQL 和InnoDB 的一些功能和缺陷进行了补充,编写了多主复制和数据闪回等补丁。目前在阿里集团核心系统研发部数据库组,专注于MySQL 数据库相关的开发工作。后来一些补丁被MySQL 之父Mony 看中,多主复制、线程内存监控等补丁被合并到了MariaDB 10.0 版本,本人也因此成为MariaDB 提交组(Maria-captains)成员。翟卫祥:毕业于武汉大学,研究生阶段从事数据库相关研究。毕业后就职于阿里巴巴集团数据库技术团队至今,主要负责阿里内部MySQL 代码分支维护,包括MySQL Bug Fix及新特性开发。对MySQL 内核有一定的研究。刘辉:2008 年毕业于西安电子科技大学计算机系,硕士学位。2011 年加入阿里巴巴集团数据库技术团队,花名希羽,MySQL 内核开发工程师。

目录

  • 版权信息
  • 内容简介
  • O'Reilly Media, Inc.介绍
  • 译者序
  • 推荐序
  • 前言
  • 第1章 MySQL架构与历史
  • 1.1 MySQL逻辑架构
  • 1.1.1 连接管理与安全性
  • 1.1.2 优化与执行
  • 1.2 并发控制
  • 1.2.1 读写锁
  • 1.2.2 锁粒度
  • 1.3 事务
  • 1.3.1 隔离级别
  • 1.3.2 死锁
  • 1.3.3 事务日志
  • 1.3.4 MySQL中的事务
  • 1.4 多版本并发控制
  • 1.5 MySQL的存储引擎
  • 1.5.1 InnoDB存储引擎
  • 1.5.2 MyISAM存储引擎
  • 1.5.3 MySQL内建的其他存储引擎
  • 1.5.4 第三方存储引擎
  • 1.5.5 选择合适的引擎
  • 1.5.6 转换表的引擎
  • 1.6 MySQL时间线(Timeline)
  • 1.7 MySQL的开发模式
  • 1.8 总结
  • 第2章 MySQL基准测试
  • 2.1 为什么需要基准测试
  • 2.2 基准测试的策略
  • 2.2.1 测试何种指标
  • 2.3 基准测试方法
  • 2.3.1 设计和规划基准测试
  • 2.3.2 基准测试应该运行多长时间
  • 2.3.3 获取系统性能和状态
  • 2.3.4 获得准确的测试结果
  • 2.3.5 运行基准测试并分析结果
  • 2.3.6 绘图的重要性
  • 2.4 基准测试工具
  • 2.4.1 集成式测试工具
  • 2.4.2 单组件式测试工具
  • 2.5 基准测试案例
  • 2.5.1 http load
  • 2.5.2 MySQL基准测试套件
  • 2.5.3 sysbench
  • 2.5.4 数据库测试套件中的dbt2 TPC-C测试
  • 2.5.5 Percona的TPCC-MySQL测试工具
  • 2.6 总结
  • 第3章 服务器性能剖析
  • 3.1 性能优化简介
  • 3.1.1 通过性能剖析进行优化
  • 3.1.2 理解性能剖析
  • 3.2 对应用程序进行性能剖析
  • 3.2.1 测量PHP应用程序
  • 3.3 剖析MySQL查询
  • 3.3.1 剖析服务器负载
  • 3.3.2 剖析单条查询
  • 3.3.3 使用性能剖析
  • 3.4 诊断间歇性问题
  • 3.4.1 单条查询问题还是服务器问题
  • 3.4.2 捕获诊断数据
  • 3.4.3 一个诊断案例
  • 3.5 其他剖析工具
  • 3.5.1 使用USER STATISTICS表
  • 3.5.2 使用strace
  • 3.6 总结
  • 第4章 Schema与数据类型优化
  • 4.1 选择优化的数据类型
  • 4.1.1 整数类型
  • 4.1.2 实数类型
  • 4.1.3 字符串类型
  • 4.1.4 日期和时间类型
  • 4.1.5 位数据类型
  • 4.1.6 选择标识符(identifier)
  • 4.1.7 特殊类型数据
  • 4.2 MySQL schema设计中的陷阱
  • 4.3 范式和反范式
  • 4.3.1 范式的优点和缺点
  • 4.3.2 反范式的优点和缺点
  • 4.3.3 混用范式化和反范式化
  • 4.4 缓存表和汇总表
  • 4.4.1 物化视图
  • 4.4.2 计数器表
  • 4.5 加快ALTER TABLE操作的速度
  • 4.5.1 只修改.frm文件
  • 4.5.2 快速创建MyISAM索引
  • 4.6 总结
  • 第5章 创建高性能的索引
  • 5.1 索引基础
  • 5.1.1 索引的类型
  • 5.2 索引的优点
  • 5.3 高性能的索引策略
  • 5.3.1 独立的列
  • 5.3.2 前缀索引和索引选择性
  • 5.3.3 多列索引
  • 5.3.4 选择合适的索引列顺序
  • 5.3.5 聚簇索引
  • 5.3.6 覆盖索引
  • 5.3.7 使用索引扫描来做排序
  • 5.3.8 压缩(前缀压缩)索引
  • 5.3.9 冗余和重复索引
  • 5.3.10 未使用的索引
  • 5.3.11 索引和锁
  • 5.4 索引案例学习
  • 5.4.1 支持多种过滤条件
  • 5.4.2 避免多个范围条件
  • 5.4.3 优化排序
  • 5.5 维护索引和表
  • 5.5.1 找到并修复损坏的表
  • 5.5.2 更新索引统计信息
  • 5.5.3 减少索引和数据的碎片
  • 5.6 总结
  • 第6章 查询性能优化
  • 6.1 为什么查询速度会慢
  • 6.2 慢查询基础:优化数据访问
  • 6.2.1 是否向数据库请求了不需要的数据
  • 6.2.2 MySQL是否在扫描额外的记录
  • 6.3 重构查询的方式
  • 6.3.1 一个复杂查询还是多个简单查询
  • 6.3.2 切分查询
  • 6.3.3 分解关联查询
  • 6.4 查询执行的基础
  • 6.4.1 MySQL客户端/服务器通信协议
  • 6.4.2 查询缓存
  • 6.4.3 查询优化处理
  • 6.4.4 查询执行引擎
  • 6.4.5 返回结果给客户端
  • 6.5 MySQL查询优化器的局限性
  • 6.5.1 关联子查询
  • 6.5.2 UNION的限制
  • 6.5.3 索引合并优化
  • 6.5.4 等值传递
  • 6.5.5 并行执行
  • 6.5.6 哈希关联
  • 6.5.7 松散索引扫描
  • 6.5.8 最大值和最小值优化
  • 6.5.9 在同一个表上查询和更新
  • 6.6 查询优化器的提示(hint)
  • 6.7 优化特定类型的查询
  • 6.7.1 优化COUNT()查询
  • 6.7.2 优化关联查询
  • 6.7.3 优化子查询
  • 6.7.4 优化GROUP BY和DISTINCT
  • 6.7.5 优化LIMIT分页
  • 6.7.6 优化SQL CALC FOUND ROWS
  • 6.7.7 优化UNION查询
  • 6.7.8 静态查询分析
  • 6.7.9 使用用户自定义变量
  • 6.8 案例学习
  • 6.8.1 使用MySQL构建一个队列表
  • 6.8.2 计算两点之间的距离
  • 6.8.3 使用用户自定义函数
  • 6.9 总结
  • 第7章 MySQL高级特性
  • 7.1 分区表
  • 7.1.1 分区表的原理
  • 7.1.2 分区表的类型
  • 7.1.3 如何使用分区表
  • 7.1.4 什么情况下会出问题
  • 7.1.5 查询优化
  • 7.1.6 合并表
  • 7.2 视图
  • 7.2.1 可更新视图
  • 7.2.2 视图对性能的影响
  • 7.2.3 视图的限制
  • 7.3 外键约束
  • 7.4 在MySQL内部存储代码
  • 7.4.1 存储过程和函数
  • 7.4.2 触发器
  • 7.4.3 事件
  • 7.4.4 在存储程序中保留注释
  • 7.5 游标
  • 7.6 绑定变量
  • 7.6.1 绑定变量的优化
  • 7.6.2 SQL接口的绑定变量
  • 7.6.3 绑定变量的限制
  • 7.7 用户自定义函数
  • 7.8 插件
  • 7.9 字符集和校对
  • 7.9.1 MySQL如何使用字符集
  • 7.9.2 选择字符集和校对规则
  • 7.9.3 字符集和校对规则如何影响查询
  • 7.10 全文索引
  • 7.10.1 自然语言的全文索引
  • 7.10.2 布尔全文索引
  • 7.10.3 MySQL 5.1中全文索引的变化
  • 7.10.4 全文索引的限制和替代方案
  • 7.10.5 全文索引的配置和优化
  • 7.11 分布式(XA)事务
  • 7.11.1 内部XA事务
  • 7.11.2 外部XA事务
  • 7.12 查询缓存
  • 7.12.1 MySQL如何判断缓存命中
  • 7.12.2 查询缓存如何使用内存
  • 7.12.3 什么情况下查询缓存能发挥作用
  • 7.12.4 如何配置和维护查询缓存
  • 7.12.5 InnoDB和查询缓存
  • 7.12.6 通用查询缓存优化
  • 7.12.7 查询缓存的替代方案
  • 7.13 总结
  • 第8章 优化服务器设置
  • 8.1 MySQL配置的工作原理
  • 8.1.1 语法、作用域和动态性
  • 8.1.2 设置变量的副作用
  • 8.1.3 入门
  • 8.1.4 通过基准测试迭代优化
  • 8.2 什么不该做
  • 8.3 创建MySQL配置文件
  • 8.3.1 检查MySQL服务器状态变量
  • 8.4 配置内存使用
  • 8.4.1 MySQL可以使用多少内存
  • 8.4.2 每个连接需要的内存
  • 8.4.3 为操作系统保留内存
  • 8.4.4 为缓存分配内存
  • 8.4.5 InnoDB缓冲池(Buffer Pool)
  • 8.4.6 MyISAM键缓存(Key Caches)
  • 8.4.7 线程缓存
  • 8.4.8 表缓存(Table Cache)
  • 8.4.9 InnoDB数据字典(Data Dictionary)
  • 8.5 配置MySQL的I/O行为
  • 8.5.1 InnoDB I/O配置
  • 8.5.2 MyISAM的I/O配置
  • 8.6 配置MySQL并发
  • 8.6.1 InnoDB并发配置
  • 8.6.2 MyISAM并发配置
  • 8.7 基于工作负载的配置
  • 8.7.1 优化BLOB和TEXT的场景
  • 8.7.2 优化排序(Filesorts)
  • 8.8 完成基本配置
  • 8.9 安全和稳定的设置
  • 8.10 高级InnoDB设置
  • 8.11 总结
  • 第9章 操作系统和硬件优化
  • 9.1 什么限制了MySQL的性能
  • 9.2 如何为MySQL选择CPU
  • 9.2.1 哪个更好:更快的CPU还是更多的CPU
  • 9.2.2 CPU 架构
  • 9.2.3 扩展到多个CPU和核心
  • 9.3 平衡内存和磁盘资源
  • 9.3.1 随机I/O和顺序I/O
  • 9.3.2 缓存,读和写
  • 9.3.3 工作集是什么
  • 9.3.4 找到有效的内存/磁盘比例
  • 9.3.5 选择硬盘
  • 9.4 固态存储
  • 9.4.1 闪存概述
  • 9.4.2 闪存技术
  • 9.4.3 闪存的基准测试
  • 9.4.4 固态硬盘驱动器(SSD)
  • 9.4.5 PCIe 存储设备
  • 9.4.6 其他类型的固态存储
  • 9.4.7 什么时候应该使用闪存
  • 9.4.8 使用Flashcache
  • 9.4.9 优化固态存储上的MySQL
  • 9.5 为备库选择硬件
  • 9.6 RAID性能优化
  • 9.6.1 RAID的故障转移、恢复和镜像
  • 9.6.2 平衡硬件RAID和软件RAID
  • 9.6.3 RAID配置和缓存
  • 9.7 SAN和NAS
  • 9.7.1 SAN基准测试
  • 9.7.2 使用基于NFS或SMB的SAN
  • 9.7.3 MySQL在SAN上的性能
  • 9.7.4 应该用SAN吗
  • 9.8 使用多磁盘卷
  • 9.9 网络配置
  • 9.10 选择操作系统
  • 9.11 选择文件系统
  • 9.12 选择磁盘队列调度策略
  • 9.13 线程
  • 9.14 内存交换区
  • 9.15 操作系统状态
  • 9.15.1 如何阅读vmstat的输出
  • 9.15.2 如何阅读iostat的输出
  • 9.15.3 其他有用的工具
  • 9.15.4 CPU密集型的机器
  • 9.15.5 I/O密集型的机器
  • 9.15.6 发生内存交换的机器
  • 9.15.7 空闲的机器
  • 9.16 总结
  • 第10章 复制
  • 10.1 复制概述
  • 10.1.1 复制解决的问题
  • 10.1.2 复制如何工作
  • 10.2 配置复制
  • 10.2.1 创建复制账号
  • 10.2.2 配置主库和备库
  • 10.2.3 启动复制
  • 10.2.4 从另一个服务器开始复制
  • 10.2.5 推荐的复制配置
  • 10.3 复制的原理
  • 10.3.1 基于语句的复制
  • 10.3.2 基于行的复制
  • 10.3.3 基于行或基于语句:哪种更优
  • 10.3.4 复制文件
  • 10.3.5 发送复制事件到其他备库
  • 10.3.6 复制过滤器
  • 10.4 复制拓扑
  • 10.4.1 一主库多备库
  • 10.4.2 主动-主动模式下的主-主复制
  • 10.4.3 主动-被动模式下的主-主复制
  • 10.4.4 拥有备库的主-主结构
  • 10.4.5 环形复制
  • 10.4.6 主库、分发主库以及备库
  • 10.4.7 树或金字塔形
  • 10.4.8 定制的复制方案
  • 10.5 复制和容量规划
  • 10.5.1 为什么复制无法扩展写操作
  • 10.5.2 备库什么时候开始延迟
  • 10.5.3 规划冗余容量
  • 10.6 复制管理和维护
  • 10.6.1 监控复制
  • 10.6.2 测量备库延迟
  • 10.6.3 确定主备是否一致
  • 10.6.4 从主库重新同步备库
  • 10.6.5 改变主库
  • 10.6.6 在一个主-主配置中交换角色
  • 10.7 复制的问题和解决方案
  • 10.7.1 数据损坏或丢失的错误
  • 10.7.2 使用非事务型表
  • 10.7.3 混合事务型和非事务型表
  • 10.7.4 不确定语句
  • 10.7.5 主库和备库使用不同的存储引擎
  • 10.7.6 备库发生数据改变
  • 10.7.7 不唯一的服务器ID
  • 10.7.8 未定义的服务器ID
  • 10.7.9 对未复制数据的依赖性
  • 10.7.10 丢失的临时表
  • 10.7.11 不复制所有的更新
  • 10.7.12 InnoDB加锁读引起的锁争用
  • 10.7.13 在主-主复制结构中写入两台主库
  • 10.7.14 过大的复制延迟
  • 10.7.15 来自主库的过大的包
  • 10.7.16 受限制的复制带宽
  • 10.7.17 磁盘空间不足
  • 10.7.18 复制的局限性
  • 10.8 复制有多快
  • 10.9 MySQL复制的高级特性
  • 10.10 其他复制技术
  • 10.11 总结
  • 第11章 可扩展的MySQL
  • 11.1 什么是可扩展性
  • 11.1.1 正式的可扩展性定义
  • 11.2 扩展MySQL
  • 11.2.1 规划可扩展性
  • 11.2.2 为扩展赢得时间
  • 11.2.3 向上扩展
  • 11.2.4 向外扩展
  • 11.2.5 通过多实例扩展
  • 11.2.6 通过集群扩展
  • 11.2.7 向内扩展
  • 11.3 负载均衡
  • 11.3.1 直接连接
  • 11.3.2 引入中间件
  • 11.3.3 一主多备间的负载均衡
  • 11.4 总结
  • 第12章 高可用性
  • 12.1 什么是高可用性
  • 12.2 导致宕机的原因
  • 12.3 如何实现高可用性
  • 12.3.1 提升平均失效时间(MTBF)
  • 12.3.2 降低平均恢复时间(MTTR)
  • 12.4 避免单点失效
  • 12.4.1 共享存储或磁盘复制
  • 12.4.2 MySQL同步复制
  • 12.4.3 基于复制的冗余
  • 12.5 故障转移和故障恢复
  • 12.5.1 提升备库或切换角色
  • 12.5.2 虚拟IP地址或IP接管
  • 12.5.3 中间件解决方案
  • 12.5.4 在应用中处理故障转移
  • 12.6 总结
  • 第13章 云端的MySQL
  • 13.1 云的优点、缺点和相关误解
  • 13.2 MySQL在云端的经济价值
  • 13.3 云中的MySQL的可扩展性和高可用性
  • 13.4 四种基础资源
  • 13.5 MySQL在云主机上的性能
  • 13.5.1 在云端的MySQL基准测试
  • 13.6 MySQL数据库即服务(DBaaS)
  • 13.6.1 Amazon RDS
  • 13.6.2 其他DBaaS解决方案
  • 13.7 总结
  • 第14章 应用层优化
  • 14.1 常见问题
  • 14.2 Web服务器问题
  • 14.2.1 寻找最优并发度
  • 14.3 缓存
  • 14.3.1 应用层以下的缓存
  • 14.3.2 应用层缓存
  • 14.3.3 缓存控制策略
  • 14.3.4 缓存对象分层
  • 14.3.5 预生成内容
  • 14.3.6 作为基础组件的缓存
  • 14.3.7 使用HandlerSocket和memcached
  • 14.4 拓展MySQL
  • 14.5 MySQL的替代品
  • 14.6 总结
  • 第15章 备份与恢复
  • 15.1 为什么要备份
  • 15.2 定义恢复需求
  • 15.3 设计MySQL备份方案
  • 15.3.1 在线备份还是离线备份
  • 15.3.2 逻辑备份还是物理备份
  • 15.3.3 备份什么
  • 15.3.4 存储引擎和一致性
  • 15.4 管理和备份二进制日志
  • 15.4.1 二进制日志格式
  • 15.4.2 安全地清除老的二进制日志
  • 15.5 备份数据
  • 15.5.1 生成逻辑备份
  • 15.5.2 文件系统快照
  • 15.6 从备份中恢复
  • 15.6.1 恢复物理备份
  • 15.6.2 还原逻辑备份
  • 15.6.3 基于时间点的恢复
  • 15.6.4 更高级的恢复技术
  • 15.6.5 InnoDB崩溃恢复
  • 15.7 备份和恢复工具
  • 15.7.1 MySQL Enterprise Backup
  • 15.7.2 Percona XtraBackup
  • 15.7.3 mylvmbackup
  • 15.7.4 Zmanda Recovery Manager
  • 15.7.5 mydumper
  • 15.7.6 mysqldump
  • 15.8 备份脚本化
  • 15.9 总结
  • 第16章 MySQL用户工具
  • 16.1 接口工具
  • 16.2 命令行工具集
  • 16.3 SQL实用集
  • 16.4 监测工具
  • 16.4.1 开源的监控工具
  • 16.4.2 商业监控系统
  • 16.4.3 Innotop的命令行监控
  • 16.5 总结
  • 附录A MySQL分支与变种
  • 附录B MySQL服务器状态
  • 附录C 大文件传输
  • 附录D EXPLAIN
  • 附录E 锁的调试
  • 附录F 在MySQL上使用Sphinx
  • 索引
  • 关于作者
  • 封面说明
  • 译者简介
展开全部

评分及书评

5.0
7个评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。