千金良方——MySQL性能优化金字塔法则(博文视点出品) PDF下载


作者:

李春罗小波董红禹 著


简介:

《千金良方——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等监控工具。


目录:

基 础 篇

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

1.1 背景 3

1.2 初始化安装 3

1.2.1 下载二进制安装文件 3

1.2.2 创建MYSQL用户 3

1.2.3 创建程序、数据存放目录 4

1.2.4 解压缩二进制安装文件并设置目录权限 4

1.2.5 软链接程序路径,并设置MYSQL命令环境变量 5

1.2.6 配置MY.CNF文件参数 5

1.2.7 初始化MYSQL 6

1.2.8 启动MYSQL 7

1.3 简单安全加固 8

1.3.1 登录MYSQL 8

1.3.2 删除非ROOT或非LOCALHOST的用户并修改ROOT密码 9

1.3.3 删除TEST库,清理MYSQL.DB表 10

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

1.4.1 创建管理用户并授权 12

1.4.2 创建库、表、程序账号 13

1.4.3 插入数据 14

1.5 MYSQL参数模板 16

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

2.1 背景 21

2.2 MYSQL 5.5.54的安装 21

2.3 升级MYSQL 5.5.54到MYSQL 5.6.35 21

2.3.1 使用MYSQL_UPGRADE直接升级数据字典库 21

2.3.2 使用MYSQLDUMP逻辑备份数据 30

2.4 升级注意事项 38

第3章 MYSQL体系结构 41

3.1 快速安装MYSQL 41

3.2 数据目录结构 43

3.3 MYSQL SERVER体系结构 46

3.4 MYSQL中的存储引擎 48

3.5 INNODB存储引擎体系结构 48

3.6 INNODB存储引擎后台线程 52

3.7 MYSQL前台线程 54

第4章 PERFORMANCE_SCHEMA初相识 56

4.1 什么是PERFORMANCE_SCHEMA 56

4.2 PERFORMANCE_SCHEMA使用快速入门 57

4.2.1 检查当前数据库版本是否支持 57

4.2.2 启用PERFORMANCE_SCHEMA 58

4.2.3 PERFORMANCE_SCHEMA表的分类 59

4.2.4 PERFORMANCE_SCHEMA简单配置与使用 62

第5章 PERFORMANCE_SCHEMA配置详解 66

5.1 编译时配置 66

5.2 启动时配置 67

5.2.1 启动选项 67

5.2.2 SYSTEM VARIABLES 69

5.3 运行时配置 71

5.3.1 PERFORMANCE_TIMERS表 71

5.3.2 SETUP_TIMERS表 72

5.3.3 SETUP_CONSUMERS表 73

5.3.4 SETUP_INSTRUMENTS表 76

5.3.5 SETUP_ACTORS表 82

5.3.6 SETUP_OBJECTS表 85

5.3.7 THREADS表 87

第6章 PERFORMANCE_SCHEMA应用示例荟萃 93

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

6.2 锁问题排查 97

6.2.1 找出谁持有全局读锁 97

6.2.2 找出谁持有MDL锁 100

6.2.3 找出谁持有表级锁 104

6.2.4 找出谁持有行级锁 107

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

6.3.1 查看最近的TOP SQL语句 112

6.3.2 查看最近执行失败的SQL语句 114

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

6.4.1 查看SQL语句执行阶段信息 117

6.4.2 查看SQL语句执行进度信息 120

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

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

第7章 SYS系统库初相识 126

7.1 SYS系统库使用基础环境 126

7.2 SYS系统库初体验 127

7.3 SYS系统库的进度报告功能 129

第8章 SYS系统库配置表 132

8.1 SYS_CONFIG表 132

8.2 SYS_CONFIG_INSERT_SET_USER触发器 136

8.3 SYS_CONFIG_UPDATE_SET_USER触发器 136

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

9.1 查看慢SQL语句慢在哪里 138

9.2 查看是否有事务锁等待 140

9.3 查看是否有MDL锁等待 141

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

9.5 查看冗余索引 144

9.6 查看未使用的索引 145

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

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

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

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

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

第10章 INFORMATION_SCHEMA初相识 151

第11章 INFORMATION_SCHEMA应用示例荟萃 161

第12章 MYSQL系统库之权限系统表 177

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

第14章 MYSQL系统库之统计信息表 200

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

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

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

第18章 复制技术的演进 245

第19章 事务概念基础 263

第20章 INNODB锁 280

第21章 SQL优化 299

第22章 MYSQL读写扩展 308

案 例 篇

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

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

第25章 性能调优金字塔 326

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

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

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

第29章 MYSQL连接无法自动释放 359

第30章 查询MYSQL偶尔比较慢 363

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

第32章 MYSQL挂起诊断思路 375

第33章 硬件和系统调优 378

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

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

第36章 插入意向锁死锁 394

第37章 分页查询优化 398

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

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

工 具 篇

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

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

第42章 FIO存储性能压测 469

第43章 HAMMERDB在线事务处理测试 477

第44章 SYSBENCH数据库压测工具 493

第45章 MYSQLADMIN和INNOTOP工具详解 506

第46章 利用PROMETHEUS+GRAFANA 搭建炫酷的MYSQL监控平台 524

第47章 PERCONA TOOLKIT常用工具详解 538

第48章 MYSQL主流备份工具之MYSQLDUMP详解 598

第49章 MYSQL主流备份工具之XTRABACKUP详解 624

第50章 MYSQL主流备份工具之MYDUMPER详解 662

第51章 MYSQL主流闪回工具详解 675




购买正版

免责声明:

1、本站资源由自动抓取工具收集整理于网络。

2、本站不承担由于内容的合法性及真实性所引起的一切争议和法律责任。

3、电子书、小说等仅供网友预览使用,书籍版权归作者或出版社所有。

4、如作者、出版社认为资源涉及侵权,请联系本站,本站将在收到通知书后尽快删除您认为侵权的作品。

5、如果您喜欢本资源,请您支持作者,购买正版内容。

6、资源失效,请下方留言,欢迎分享资源链接

文章评论

0条评论