千金良方:MySQL性能优化金字塔法则

千金良方:MySQL性能优化金字塔法则

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
7.612 评价豆瓣读书
电子书618超低4折满减每满 100 减 60活动详情

作品简介

本书一共分为3篇:基础篇、案例篇和工具篇。“基础篇”从理论基础和基本原理层面介绍了MySQL的安装与配置、升级和体系结构,information_schema、sys_schema、performance_schema和mysql_schema,MySQL复制,MySQL事务,SQL语句优化及架构设计基础知识。“案例篇”从硬件和系统、MySQL架构等方面给出了性能优化的十几个案例,包括:性能测试的基本优化思路和最需要关注的性能指标解释、对日常SQL语句执行慢的基本定位、避免x86可用性的一般性方法、节能模式会怎样影响性能、I/O存储作为数据库最重要的依赖是如何影响数据库性能的、主备复制不一致可能有哪些原因、字符集不一致会造成哪些性能问题、在实际场景中锁的争用是怎样的。“工具篇”介绍了在MySQL性能优化过程中需要用到的各种工具,包括:dmidecode、top、dstat等硬件和系统排查工具;FIO、sysbench、HammerDB等压力测试工具;mysqldump、XtraBackup等备份工具;Percona、innotop、Prometheus等监控工具。

李春:原阿里巴巴MySQLDBA团队技术Leader,全程参与阿里数据库架构从Oracle迁移到MySQL的过程,参与分布式中间件Cobar设计。现为沃趣科技联合创始人&首席架构师,负责MySQL、基础软件及部分关键组件的技术选型、风险评估等。罗小波:沃趣科技高级数据库工程师,主要负责MySQL产品的数据库支撑与售后二线支撑。曾参与版本发布系统、轻量级监控系统、运维管理平台、数据库管理平台的设计与编写,熟悉MySQL体系结构,Innodb存储引擎,喜好专研开源技术,多次在公开场合做过线下线上数据库专题分享,发表过多篇与数据库相关的研究文章。董红禹:沃趣科技MySQLDBA,为过多家大型企业进行过故障解决、架构设计、性能优化,例如中信证券、浙江农信、陕西农信、邮储银行等。规划并实施了浙江农信互联网核心金融平台。

作品目录

  1. 推荐序1
  2. 推荐序2
  3. 推荐序3
  4. 前言
  5. 基础篇
  6. 第1章 MySQL初始化安装、简单安全加固
  7. 1.1 背景
  8. 1.2 初始化安装
  9. 1.3 简单安全加固
  10. 1.4 创建用户、库、表、数据
  11. 1.5 MySQL参数模板
  12. 第2章 MySQL常用的两种升级方法
  13. 2.1 背景
  14. 2.2 MySQL 5.5.54的安装
  15. 2.3 升级MySQL 5.5.54到MySQL 5.6.35
  16. 2.4 升级注意事项
  17. 第3章 MySQL体系结构
  18. 3.1 快速安装MySQL
  19. 3.2 数据目录结构
  20. 3.3 MySQL Server体系结构
  21. 3.4 MySQL中的存储引擎
  22. 3.5 InnoDB存储引擎体系结构
  23. 3.6 InnoDB存储引擎后台线程
  24. 3.7 MySQL前台线程
  25. 第4章 performance_schema初相识
  26. 4.1 什么是performance_schema
  27. 4.2 performance_schema使用快速入门
  28. 第5章 performance_schema配置详解
  29. 5.1 编译时配置
  30. 5.2 启动时配置
  31. 5.3 运行时配置
  32. 第6章 performance_schema应用示例荟萃
  33. 6.1 利用等待事件排查MySQL性能问题
  34. 6.2 锁问题排查
  35. 6.3 查看最近的SQL语句执行信息
  36. 6.4 查看SQL语句执行阶段和进度信息
  37. 6.5 查看最近的事务执行信息
  38. 6.6 查看多线程复制报错详情
  39. 第7章 sys系统库初相识
  40. 7.1 sys系统库使用基础环境
  41. 7.2 sys系统库初体验
  42. 7.3 sys系统库的进度报告功能
  43. 第8章 sys系统库配置表
  44. 8.1 sys_config表
  45. 8.2 sys_config_insert_set_user触发器
  46. 8.3 sys_config_update_set_user触发器
  47. 第9章 sys系统库应用示例荟萃
  48. 9.1 查看慢SQL语句慢在哪里
  49. 9.2 查看是否有事务锁等待
  50. 9.3 查看是否有MDL锁等待
  51. 9.4 查看InnoDB缓冲池中的热点数据有哪些
  52. 9.5 查看冗余索引
  53. 9.6 查看未使用的索引
  54. 9.7 查询表的增、删、改、查数据量和I/O耗时统计信息
  55. 9.8 查看MySQL磁盘文件产生的磁盘流量与读写比例
  56. 9.9 查看哪些语句使用了全表扫描
  57. 9.10 查看哪些语句使用了文件排序
  58. 9.11 查看哪些语句使用了临时表
  59. 第10章 information_schema初相识
  60. 10.1 什么是information_schema
  61. 10.2 information_schema组成对象
  62. 第11章 information_schema应用示例荟萃
  63. 11.1 使用Server层的字典表查询相关的元数据信息
  64. 11.2 使用InnoDB层的字典表查询相关的元数据信息
  65. 第12章 mysql系统库之权限系统表
  66. 12.1 user
  67. 12.2 db
  68. 12.3 tables_priv
  69. 12.4 columns_priv
  70. 12.5 procs_priv
  71. 12.6 proxies_priv
  72. 第13章 mysql系统库之访问权限控制系统
  73. 13.1 访问权限控制系统概述
  74. 13.2 MySQL提供了哪些权限
  75. 13.3 MySQL账号命名规则
  76. 13.4 MySQL账号访问控制两阶段
  77. 13.5 权限变更的影响
  78. 13.6 MySQL常见连接问题
  79. 第14章 mysql系统库之统计信息表
  80. 14.1 统计信息概述
  81. 14.2 统计信息表详解
  82. 第15章 mysql系统库之复制信息表
  83. 15.1 复制信息表概述
  84. 15.2 复制信息表详解
  85. 第16章 mysql系统库之日志记录表
  86. 16.1 日志信息概述
  87. 16.2 日志表详解
  88. 第17章 mysql系统库应用示例荟萃
  89. 17.1 查看用户不同作用域的权限
  90. 17.2 查看统计信息
  91. 17.3 查看SQL日志信息
  92. 第18章 复制技术的演进
  93. 18.1 复制格式概述
  94. 18.2 基于数据安全的复制技术演进
  95. 18.3 基于复制效率的复制技术演进
  96. 第19章 事务概念基础
  97. 19.1 4种事务隔离级别和3种异常现象
  98. 19.2 从事务提交谈起
  99. 19.3 MySQL中的Redo日志
  100. 19.4 MVCC介绍
  101. 第20章 InnoDB锁
  102. 20.1 InnoDB锁概述
  103. 20.2 加锁验证
  104. 第21章 SQL优化
  105. 21.1 SQL优化基础概念
  106. 21.2 MySQL中的Join算法
  107. 21.3 MySQL中的优化特性
  108. 第22章 MySQL读写扩展
  109. 22.1 分布式架构概述
  110. 22.2 分库分表两种方式
  111. 22.3 中间件工作方式及原理
  112. 22.4 架构设计及业务场景
  113. 22.5 关于中间件的一些限制解释
  114. 案例篇
  115. 第23章 性能测试指标和相关术语
  116. 23.1 测试目标分类
  117. 23.2 性能测试指标
  118. 23.3 本章小结
  119. 第24章 历史问题诊断和现场故障分析
  120. 24.1 故障分析和验证
  121. 24.2 故障复现排查
  122. 24.3 本章小结
  123. 第25章 性能调优金字塔
  124. 25.1 硬件和系统调优
  125. 25.2 MySQL调优
  126. 25.3 架构调优
  127. 25.4 本章小结
  128. 第26章 SQL语句执行慢真假难辨
  129. 26.1 概述
  130. 26.2 测试环境
  131. 26.3 采集数据包
  132. 26.4 解析数据包
  133. 26.5 本章小结
  134. 第27章 如何避免三天两头换硬盘、内存、主板
  135. 27.1 概述
  136. 27.2 服务器标准化
  137. 27.3 上线前烤机
  138. 27.4 本章小结
  139. 第28章 每隔45天的MySQL性能低谷
  140. 28.1 存储知识小普及
  141. 28.2 每隔45天的性能抖动
  142. 28.3 影响I/O性能的三种RAID策略
  143. 28.4 本章小结
  144. 第29章 MySQL连接无法自动释放
  145. 29.1 环境配置
  146. 29.2 问题现象
  147. 29.3 诊断分析
  148. 29.4 解决方案
  149. 29.5 本章小结
  150. 第30章 查询MySQL偶尔比较慢
  151. 30.1 环境配置
  152. 30.2 问题现象
  153. 30.3 诊断分析
  154. 30.4 选择VIP还是DNS访问MySQL
  155. 30.5 CPU节能模式
  156. 30.6 本章小结
  157. 第31章 MySQL最多只允许214个连接
  158. 31.1 环境配置
  159. 31.2 问题现象
  160. 31.3 诊断分析
  161. 31.4 解决方案
  162. 31.5 MySQL最大连接数为214的源码解析
  163. 31.6 Linux资源限制
  164. 31.7 本章小结
  165. 第32章 MySQL挂起诊断思路
  166. 32.1 环境配置
  167. 32.2 问题现象
  168. 32.3 诊断分析
  169. 32.4 挂起时先做什么
  170. 32.5 本章小结
  171. 第33章 硬件和系统调优
  172. 33.1 硬件和系统调优概览
  173. 33.2 CPU
  174. 33.3 网络
  175. 33.4 其他
  176. 33.5 本章小结
  177. 第34章 并发删除数据造成死锁
  178. 34.1 问题现象
  179. 34.2 如何阅读死锁日志
  180. 34.3 表结构及操作步骤
  181. 34.4 本章小结
  182. 第35章 删除不存在的数据造成死锁
  183. 35.1 问题现象
  184. 35.2 问题分析
  185. 35.3 问题扩展
  186. 35.4 表结构及操作步骤
  187. 35.5 小章小结
  188. 第36章 插入意向锁死锁
  189. 36.1 问题现象
  190. 36.2 问题分析
  191. 36.3 本章小结
  192. 第37章 分页查询优化
  193. 37.1 问题现象
  194. 37.2 优化方案
  195. 第38章 子查询优化——子查询转换为连接
  196. 38.1 问题现象
  197. 38.2 优化方案
  198. 第39章 子查询优化——使用delete删除数据
  199. 39.1 问题现象
  200. 39.2 优化方案
  201. 工具篇
  202. 第40章 硬件规格常用查看命令详解
  203. 40.1 通用命令
  204. 40.2 CPU相关命令
  205. 40.3 磁盘相关命令
  206. 40.4 网卡相关命令
  207. 40.5 HCA卡相关命令
  208. 第41章 系统负载常用查看命令详解
  209. 41.1 top
  210. 41.2 dstat
  211. 41.3 mpstat
  212. 41.4 sar
  213. 41.5 vmstat
  214. 41.6 iostat
  215. 41.7 free
  216. 41.8 iotop
  217. 41.9 iftop
  218. 41.10 iperf
  219. 第42章 FIO存储性能压测
  220. 42.1 安装FIO
  221. 42.2 测试I/O性能
  222. 42.3 参数和结果详解
  223. 42.4 FIO测试建议
  224. 42.5 课外阅读
  225. 第43章 HammerDB在线事务处理测试
  226. 43.1 安装和配置HammerDB
  227. 43.2 测试
  228. 43.3 课外阅读
  229. 第44章 sysbench数据库压测工具
  230. 44.1 安装sysbench
  231. 44.2 测试案例
  232. 44.3 sysbench 参数详解
  233. 44.4 数据库测试输出信息详解
  234. 44.5 课外阅读
  235. 第45章 mysqladmin和innotop工具详解
  236. 45.1 mysqladmin
  237. 45.2 innotop
  238. 第46章 利用Prometheus+Grafana搭建炫酷的MySQL监控平台
  239. 46.1 安装Prometheus
  240. 46.2 安装Grafana
  241. 46.3 监控节点部署
  242. 第47章 Percona Toolkit常用工具详解
  243. 47.1 pt-query-digest
  244. 47.2 pt-ioprofile
  245. 47.3 pt-index-usage
  246. 47.4 pt-duplicate-key-checker
  247. 47.5 pt-mysql-summary/pt-summary
  248. 47.6 pt-pmp
  249. 47.7 pt-stalk
  250. 47.8 pt-sift
  251. 第48章 MySQL主流备份工具之mysqldump详解
  252. 48.1 简介
  253. 48.2 原理
  254. 48.3 命令行选项
  255. 48.4 实战演示
  256. 第49章 MySQL主流备份工具之XtraBackup详解
  257. 49.1 简介
  258. 49.2 原理
  259. 49.3 命令行选项
  260. 49.4 实战演示
  261. 第50章 MySQL主流备份工具之mydumper详解
  262. 50.1 简介
  263. 50.2 原理
  264. 50.3 命令行选项
  265. 50.4 实战演示
  266. 第51章 MySQL主流闪回工具详解
  267. 51.1 闪回工具科普
  268. 51.2 binlog2sql
  269. 51.3 MyFlash
载入中