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

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

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

全书细致地介绍MySQL的基本原理,以及性能优化的实际案例。

内容简介

本书一共分为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等监控工具。

作者简介

作者李春,原阿里巴巴MySQL DBA团队技术Leader,全程参与阿里数据库架构从Oracle迁移到MySQL的过程,参与分布式中间件Cobar设计。现为沃趣科技联合创始人&首席架构师,负责MySQL、基础软件及部分关键组件的技术选型、风险评估等。

章节目录

版权信息

内容简介

推荐序1

推荐序2

推荐序3

前言

性能问题

数据库的性能提升

机械思维和大数据思维

内容介绍

读者对象

致谢

本书作者

读者服务

基础篇

第1章 MySQL初始化安装、简单安全加固

1.1 背景

1.2 初始化安装

1.3 简单安全加固

1.4 创建用户、库、表、数据

1.5 MySQL参数模板

第2章 MySQL常用的两种升级方法

2.1 背景

2.2 MySQL 5.5.54的安装

2.3 升级MySQL 5.5.54到MySQL 5.6.35

2.4 升级注意事项

第3章 MySQL体系结构

3.1 快速安装MySQL

3.2 数据目录结构

3.3 MySQL Server体系结构

3.4 MySQL中的存储引擎

3.5 InnoDB存储引擎体系结构

3.6 InnoDB存储引擎后台线程

3.7 MySQL前台线程

第4章 performance_schema初相识

4.1 什么是performance_schema

4.2 performance_schema使用快速入门

第5章 performance_schema配置详解

5.1 编译时配置

5.2 启动时配置

5.3 运行时配置

第6章 performance_schema应用示例荟萃

6.1 利用等待事件排查MySQL性能问题

6.2 锁问题排查

6.3 查看最近的SQL语句执行信息

6.4 查看SQL语句执行阶段和进度信息

6.5 查看最近的事务执行信息

6.6 查看多线程复制报错详情

第7章 sys系统库初相识

7.1 sys系统库使用基础环境

7.2 sys系统库初体验

7.3 sys系统库的进度报告功能

第8章 sys系统库配置表

8.1 sys_config表

8.2 sys_config_insert_set_user触发器

8.3 sys_config_update_set_user触发器

第9章 sys系统库应用示例荟萃

9.1 查看慢SQL语句慢在哪里

9.2 查看是否有事务锁等待

9.3 查看是否有MDL锁等待

9.4 查看InnoDB缓冲池中的热点数据有哪些

9.5 查看冗余索引

9.6 查看未使用的索引

9.7 查询表的增、删、改、查数据量和I/O耗时统计信息

9.8 查看MySQL磁盘文件产生的磁盘流量与读写比例

9.9 查看哪些语句使用了全表扫描

9.10 查看哪些语句使用了文件排序

9.11 查看哪些语句使用了临时表

第10章 information_schema初相识

10.1 什么是information_schema

10.2 information_schema组成对象

第11章 information_schema应用示例荟萃

11.1 使用Server层的字典表查询相关的元数据信息

11.2 使用InnoDB层的字典表查询相关的元数据信息

第12章 mysql系统库之权限系统表

12.1 user

12.2 db

12.3 tables_priv

12.4 columns_priv

12.5 procs_priv

12.6 proxies_priv

第13章 mysql系统库之访问权限控制系统

13.1 访问权限控制系统概述

13.2 MySQL提供了哪些权限

13.3 MySQL账号命名规则

13.4 MySQL账号访问控制两阶段

13.5 权限变更的影响

13.6 MySQL常见连接问题

第14章 mysql系统库之统计信息表

14.1 统计信息概述

14.2 统计信息表详解

第15章 mysql系统库之复制信息表

15.1 复制信息表概述

15.2 复制信息表详解

第16章 mysql系统库之日志记录表

16.1 日志信息概述

16.2 日志表详解

第17章 mysql系统库应用示例荟萃

17.1 查看用户不同作用域的权限

17.2 查看统计信息

17.3 查看SQL日志信息

第18章 复制技术的演进

18.1 复制格式概述

18.2 基于数据安全的复制技术演进

18.3 基于复制效率的复制技术演进

第19章 事务概念基础

19.1 4种事务隔离级别和3种异常现象

19.2 从事务提交谈起

19.3 MySQL中的Redo日志

19.4 MVCC介绍

第20章 InnoDB锁

20.1 InnoDB锁概述

20.2 加锁验证

第21章 SQL优化

21.1 SQL优化基础概念

21.2 MySQL中的Join算法

21.3 MySQL中的优化特性

第22章 MySQL读写扩展

22.1 分布式架构概述

22.2 分库分表两种方式

22.3 中间件工作方式及原理

22.4 架构设计及业务场景

22.5 关于中间件的一些限制解释

案例篇

第23章 性能测试指标和相关术语

23.1 测试目标分类

23.2 性能测试指标

23.3 本章小结

第24章 历史问题诊断和现场故障分析

24.1 故障分析和验证

24.2 故障复现排查

24.3 本章小结

第25章 性能调优金字塔

25.1 硬件和系统调优

25.2 MySQL调优

25.3 架构调优

25.4 本章小结

第26章 SQL语句执行慢真假难辨

26.1 概述

26.2 测试环境

26.3 采集数据包

26.4 解析数据包

26.5 本章小结

第27章 如何避免三天两头换硬盘、内存、主板

27.1 概述

27.2 服务器标准化

27.3 上线前烤机

27.4 本章小结

第28章 每隔45天的MySQL性能低谷

28.1 存储知识小普及

28.2 每隔45天的性能抖动

28.3 影响I/O性能的三种RAID策略

28.4 本章小结

第29章 MySQL连接无法自动释放

29.1 环境配置

29.2 问题现象

29.3 诊断分析

29.4 解决方案

29.5 本章小结

第30章 查询MySQL偶尔比较慢

30.1 环境配置

30.2 问题现象

30.3 诊断分析

30.4 选择VIP还是DNS访问MySQL

30.5 CPU节能模式

30.6 本章小结

第31章 MySQL最多只允许214个连接

31.1 环境配置

31.2 问题现象

31.3 诊断分析

31.4 解决方案

31.5 MySQL最大连接数为214的源码解析

31.6 Linux资源限制

31.7 本章小结

第32章 MySQL挂起诊断思路

32.1 环境配置

32.2 问题现象

32.3 诊断分析

32.4 挂起时先做什么

32.5 本章小结

第33章 硬件和系统调优

33.1 硬件和系统调优概览

33.2 CPU

33.3 网络

33.4 其他

33.5 本章小结

第34章 并发删除数据造成死锁

34.1 问题现象

34.2 如何阅读死锁日志

34.3 表结构及操作步骤

34.4 本章小结

第35章 删除不存在的数据造成死锁

35.1 问题现象

35.2 问题分析

35.3 问题扩展

35.4 表结构及操作步骤

35.5 小章小结

第36章 插入意向锁死锁

36.1 问题现象

36.2 问题分析

36.3 本章小结

第37章 分页查询优化

37.1 问题现象

37.2 优化方案

第38章 子查询优化 ——子查询转换为连接

38.1 问题现象

38.2 优化方案

第39章 子查询优化 ——使用delete删除数据

39.1 问题现象

39.2 优化方案

工具篇

第40章 硬件规格常用查看命令详解

40.1 通用命令

40.2 CPU相关命令

40.3 磁盘相关命令

40.4 网卡相关命令

40.5 HCA卡相关命令

第41章 系统负载常用查看命令详解

41.1 top

41.2 dstat

41.3 mpstat

41.4 sar

41.5 vmstat

41.6 iostat

41.7 free

41.8 iotop

41.9 iftop

41.10 iperf

第42章 FIO存储性能压测

42.1 安装FIO

42.2 测试I/O性能

42.3 参数和结果详解

42.4 FIO测试建议

42.5 课外阅读

第43章 HammerDB在线事务处理测试

43.1 安装和配置HammerDB

43.2 测试

43.3 课外阅读

第44章 sysbench数据库压测工具

44.1 安装sysbench

44.2 测试案例

44.3 sysbench 参数详解

44.4 数据库测试输出信息详解

44.5 课外阅读

第45章 mysqladmin和innotop工具详解

45.1 mysqladmin

45.2 innotop

第46章 利用Prometheus+Grafana搭建炫酷的MySQL监控平台

46.1 安装Prometheus

46.2 安装Grafana

46.3 监控节点部署

第47章 Percona Toolkit常用工具详解

47.1 pt-query-digest

47.2 pt-ioprofile

47.3 pt-index-usage

47.4 pt-duplicate-key-checker

47.5 pt-mysql-summary/pt-summary

47.6 pt-pmp

47.7 pt-stalk

47.8 pt-sift

第48章 MySQL主流备份工具之mysqldump详解

48.1 简介

48.2 原理

48.3 命令行选项

48.4 实战演示

第49章 MySQL主流备份工具之XtraBackup详解

49.1 简介

49.2 原理

49.3 命令行选项

49.4 实战演示

第50章 MySQL主流备份工具之mydumper详解

50.1 简介

50.2 原理

50.3 命令行选项

50.4 实战演示

第51章 MySQL主流闪回工具详解

51.1 闪回工具科普

51.2 binlog2sql

51.3 MyFlash

千金良方:MySQL性能优化金字塔法则是2019年由电子工业出版社出版,作者罗小波。

得书感谢您对《千金良方:MySQL性能优化金字塔法则》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
MySQL程序员面试笔试宝典 电子书
覆盖近几年程序员面试笔试中超过98%的MySQL高频知识点。
SQL优化核心思想 电子书
10章深入SQL优化,涵盖基础知识、统计信息、访问路径、连接方式、优化技巧等。
Web数据库技术与MySQL应用教程 电子书
本书在介绍Web数据库基本理论与知识的基础上,详细分析和论述了利用HTML、PHP、ASP访问MySQL数据库的Web应用技术和方法,阐释了Web数据库系统的开发与应用技术,并提供了相应的网页及应用程序代码。
PHP+MySQL网站开发项目式教程 电子书
本书是一本PHP+MySQL的入门书籍,适合初学者使用。本书采用项目式的编写体例,共分为初中高3个项目,在每个项目中,有开发背景、需求分析、知识讲解、代码实现和扩展提高等模块。通过这种形式,将读者代入到一个接近真实的项目开发环境中,将学习的基础知识在项目中实践,以达到学习巩固以及融会贯通的目的,并且提高编程者的项目经验。在设置课程内容时,以Web开发方向为目标,不局限于PHP与MySQL的基础知识
MySQL数据库技术与项目应用教程 电子书
本书分为基础应用篇和高级应用篇两大部分,共8个项目26个任务,主要内容包括MySQL数据库的安装与配置、数据库设计与建模、关系代数、数据库的创建与管理和数据查询、数据查询优化、数据库编程、维护系统数据库的安全性和高可用性。