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