展开全部

主编推荐语

基于流行的MySQL新版本,从优化、周边工具、新特性、主流高可用方案,到云时代工作,全方位实战讲解。

内容简介

本书既包括MySQL比较重要的基础内容,如安装、索引、锁、事务、体系结构、主从复制(GTID 复制、半同步复制、并行复制等)等,也包括MySQL的优化(从硬件、操作系统、参数、SQL语句等方面)、规范、安全、备份、监控、高可用(MHA、Orchestrator和MGR)、分库分表、周边工具等实战内容。另外,本书增加了一些比较新的内容,如MySQL 8.0的新特性、云时代DBA工作的变化等。

本书可作为MySQL初学者、DBA、开发工程师、运维工程师、架构师等的参考资料。

目录

  • 版权信息
  • 内容简介
  • 前言
  • 第1章 MySQL的基础知识
  • 1.1 数据库的安装全过程
  • 1.1.1 平台的选择
  • 1.1.2 安装包的选择
  • 1.1.3 系统环境的配置
  • 1.1.4 数据库的安装
  • 1.2 数据库的简单使用
  • 1.2.1 连接
  • 1.2.2 数据库的创建和使用
  • 1.2.3 增、删、改、查
  • 1.3 总结
  • 第2章 MySQL的索引
  • 2.1 索引算法
  • 2.1.1 顺序查找
  • 2.1.2 二分查找
  • 2.1.3 二叉查找树
  • 2.1.4 平衡二叉树
  • 2.1.5 B树
  • 2.1.6 B+树
  • 2.1.7 B+树索引
  • 2.2 MySQL中的索引类型
  • 2.2.1 聚集索引
  • 2.2.2 辅助索引
  • 2.2.3 唯一索引
  • 2.2.4 联合索引
  • 2.3 MySQL中的索引优化
  • 2.3.1 ICP
  • 2.3.2 MRR
  • 2.4 关于索引的建议
  • 2.5 总结
  • 第3章 MySQL的锁
  • 3.1 共享锁和排他锁
  • 3.2 意向锁
  • 3.3 记录锁、间隙锁、插入意向锁和临键锁
  • 3.4 MDL
  • 3.5 死锁
  • 3.6 总结
  • 第4章 MySQL的事务
  • 4.1 事务的特性
  • 4.2 事务的实现
  • 4.2.1 原子性的实现
  • 4.2.2 一致性的实现
  • 4.2.3 隔离性的实现
  • 4.3 MVCC实现
  • 4.3.1 什么是MVCC
  • 4.3.2 实现的原理
  • 4.4 普通读和当前读
  • 4.4.1 普通读
  • 4.4.2 当前读
  • 4.4.3 小结
  • 4.5 总结
  • 第5章 MySQL的体系结构
  • 5.1 MySQL的结构
  • 5.2 存储引擎
  • 5.3 InnoDB的体系结构
  • 5.3.1 内存结构
  • 5.3.2 磁盘结构
  • 5.4 总结
  • 第6章 MySQL常用的日志文件
  • 6.1 Binlog
  • 6.1.1 Binlog基础
  • 6.1.2 开启和关闭Binlog
  • 6.1.3 Binlog的作用
  • 6.1.4 Binlog记录的格式
  • 6.1.5 Binlog的解析
  • 6.1.6 MySQL 8.0 Binlog加密
  • 6.1.7 Binlog的清除
  • 6.1.8 Binlog的落盘
  • 6.1.9 Binlog相关的参数
  • 6.2 General Log
  • 6.2.1 General Log的开启
  • 6.2.2 General Log的用法
  • 6.3 Slow Log
  • 6.3.1 Slow Log的开启
  • 6.3.2 Slow Log的特殊设置
  • 6.3.3 Slow Log的内容解析
  • 6.3.4 MySQL 8.0慢查询额外信息的输出
  • 6.4 Error Log
  • 6.4.1 Error Log的配置
  • 6.4.2 Error Log的切割
  • 6.4.3 借助Error Log定位的问题
  • 6.5 Redo Log
  • 6.5.1 Redo Log初探
  • 6.5.2 Redo Log的落盘
  • 6.5.3 Redo Log的数量及大小修改
  • 6.5.4 CheckPoint
  • 6.5.5 LSN
  • 6.5.6 MySQL 8.0中的Redo Log归档
  • 6.5.7 MySQL 8.0中的Redo Log禁用
  • 6.6 Undo Log
  • 6.6.1 初识Undo Log
  • 6.6.2 Undo Log的Purge
  • 6.6.3 两种Undo Log
  • 6.6.4 Undo Log的记录格式
  • 6.6.5 回滚时刻
  • 6.6.6 Undo Log的相关配置
  • 6.7 总结
  • 6.7.1 Binlog和Redo Log的区别
  • 6.7.2 Undo Log和Redo Log的区别
  • 第7章 MySQL的优化
  • 7.1 硬件优化
  • 7.1.1 硬件的选择
  • 7.1.2 RAID的选择
  • 7.2 操作系统的优化
  • 7.2.1 文件系统的选择
  • 7.2.2 系统参数的选择
  • 7.2.3 MySQL多实例资源隔离优化
  • 7.3 参数调优
  • 7.3.1 参数的加载顺序
  • 7.3.2 常用参数的调优
  • 7.4 慢查询分析
  • 7.4.1 Explain
  • 7.4.2 Performance Schema分析
  • 7.4.3 Trace追踪器
  • 7.5 SQL语句优化
  • 7.5.1 分页查询优化
  • 7.5.2 not in优化
  • 7.5.3 order by优化
  • 7.5.4 group by优化
  • 7.5.5 索引hint优化
  • 7.6 总结
  • 第8章 MySQL的规范
  • 8.1 建表的规范
  • 8.2 部署和操作的规范
  • 8.3 SQL的规范
  • 8.4 总结
  • 第9章 MySQL的主从复制
  • 9.1 主从复制的搭建
  • 9.2 GTID复制
  • 9.2.1 GTID主从复制的配置
  • 9.2.2 GTID的相关知识
  • 9.2.3 GTID的自动定位
  • 9.2.4 使用GTID复制模式的限制
  • 9.3 MySQL复制报错的处理
  • 9.3.1 主从复制crash-safe
  • 9.3.2 跳过GTID模式下的复制中断错误
  • 9.4 MySQL半同步复制
  • 9.4.1 MySQL半同步复制的注意事项
  • 9.4.2 MySQL半同步复制中的无损复制
  • 9.4.3 无损复制的配置和参数
  • 9.4.4 无损复制的改进
  • 9.5 MySQL并行复制
  • 9.5.1 MySQL并行复制的原理和演进
  • 9.5.2 MySQL并行复制的配置
  • 9.6 总结
  • 第10章 MySQL的安全
  • 10.1 安全指南
  • 10.2 访问控制
  • 10.3 预留账户
  • 10.4 角色管理
  • 10.5 密码管理
  • 10.5.1 密码过期
  • 10.5.2 密码重用
  • 10.5.3 密码验证
  • 10.5.4 双密码支持
  • 10.5.5 随机密码
  • 10.5.6 密码试错
  • 10.6 账户资源限制
  • 10.7 加密连接
  • 10.8 审计
  • 10.9 总结
  • 第11章 MySQL的备份
  • 11.1 物理备份和逻辑备份
  • 11.2 mysqldump
  • 11.2.1 备份用户的权限
  • 11.2.2 备份举例及参数解释
  • 11.2.3 数据恢复
  • 11.3 mydumper
  • 11.3.1 mydumper的安装
  • 11.3.2 使用mydumper备份数据
  • 11.3.3 使用myloader进行数据恢复
  • 11.4 XtraBackup
  • 11.4.1 XtraBackup的安装
  • 11.4.2 XtraBackup的工作流程
  • 11.4.3 XtraBackup的用法举例
  • 11.5 Clone Plugin
  • 11.5.1 CIone PIugin的安装
  • 11.5.2 CIone PIugin的用法举例
  • 11.6 总结
  • 第12章 MySQL的监控
  • 12.1 常见的监控项
  • 12.1.1 系统相关
  • 12.1.2 状态相关
  • 12.1.3 锁相关
  • 12.1.4 连接相关
  • 12.1.5 复制相关
  • 12.1.6 参数相关
  • 12.1.7 业务相关
  • 12.2 使用Zabbix监控MySQL
  • 12.2.1 架构图
  • 12.2.2 实验环境
  • 12.2.3 安装Zabbix Server
  • 12.2.4 配置Zabbix数据库
  • 12.2.5 编辑配置文件
  • 12.2.6 启动Zabbix Server
  • 12.2.7 Zabbix Web界面初始化
  • 12.2.8 安装Zabbix Agent
  • 12.2.9 安装Percona插件
  • 12.2.10 在Agent上创建Zabbix监控用户
  • 12.2.11 修改配置文件
  • 12.2.12 测试监控
  • 12.2.13 导入Percona模板
  • 12.2.14 Zabbix Web增加主机配置
  • 12.2.15 查看监控数据
  • 12.3 使用Prometheus监控MySQL
  • 12.3.1 架构图
  • 12.3.2 实验环境
  • 12.3.3 部署Prometheus
  • 12.3.4 部署node_exporter组件
  • 12.3.5 部署mysqld_exporter组件
  • 12.3.6 配置Prometheus获取监控数据
  • 12.3.7 部署Grafana
  • 12.3.8 为Grafana配置Prometheus数据源
  • 12.3.9 使用Grafana展示Linux的监控数据
  • 12.3.10 使用Grafana展示MySQL的监控数据
  • 12.4 使用PMM监控MySQL
  • 12.4.1 架构图
  • 12.4.2 实验环境
  • 12.4.3 安装并启动Docker
  • 12.4.4 安装PMM Server
  • 12.4.5 安装PMM Client
  • 12.4.6 PMM Client连接PMM Server
  • 12.4.7 配置MySQL监控
  • 12.4.8 打开监控页面
  • 12.5 总结
  • 第13章 MySQL的高可用
  • 13.1 MHA
  • 13.1.1 架构体系
  • 13.1.2 MHA工具包
  • 13.1.3 部署和配置MHA
  • 13.1.4 原理
  • 13.1.5 小结
  • 13.2 Orchestrator
  • 13.2.1 主要功能
  • 13.2.2 优势
  • 13.2.3 高可用
  • 13.2.4 执行计划
  • 13.2.5 集群重塑
  • 13.2.6 部署和配置Orchestrator
  • 13.2.7 参数配置
  • 13.2.8 Hook介绍
  • 13.2.9 集群的使用
  • 13.2.10 小结
  • 13.3 InnoDB Cluster
  • 13.3.1 MGR初探
  • 13.3.2 MGR与传统复制的区别
  • 13.3.3 部署InnoDB Cluster
  • 13.3.4 InnoDB Cluster的常用操作
  • 13.3.5 MGR的原理
  • 13.3.6 MGR的一致性保证
  • 13.4 总结
  • 第14章 MySQL的分库分表
  • 14.1 分库分表的原则
  • 14.2 分库分表的场景
  • 14.3 拆分模式
  • 14.3.1 垂直拆分
  • 14.3.2 水平拆分
  • 14.4 分库分表的工具
  • 14.5 分库分表后面临的问题
  • 14.5.1 事务支持问题
  • 14.5.2 跨库查询问题
  • 14.5.3 中间件高可用问题
  • 14.6 总结
  • 第15章 MySQL的周边工具
  • 15.1 Redis
  • 15.1.1 MySQL与Redis配合完成秒杀场景
  • 15.1.2 如何保证Redis和MySQL数据一致
  • 15.2 ClickHouse和ClickTail
  • 15.3 Percona Toolkit
  • 15.3.1 pt-osc
  • 15.3.2 pt-query-digest
  • 15.3.3 pt-kill
  • 15.3.4 pt-table-checksum
  • 15.3.5 pt-table-sync
  • 15.4 总结
  • 第16章 MySQL 8.0的新特性
  • 16.1 事务性数据字典
  • 16.1.1 MySQL 8.0之前版本的数据字典
  • 16.1.2 MySQL 8.0之前版本的数据字典存在的问题
  • 16.1.3 MySQL 8.0的数据字典
  • 16.1.4 序列化字典信息
  • 16.1.5 MySQL 8.0的数据字典的优势
  • 16.2 快速加列
  • 16.2.1 快速加列功能的使用和限制
  • 16.2.2 快速加列的原理
  • 16.2.3 快速加列的过程
  • 16.3 原子DDL
  • 16.3.1 原子DDL的使用范围和限制
  • 16.3.2 原子DDL的特性和操作
  • 16.3.3 原子DDL的原理
  • 16.3.4 原子DDL的调试
  • 16.4 资源组
  • 16.4.1 资源组系统和权限准备
  • 16.4.2 查看资源组信息
  • 16.4.3 使用资源组
  • 16.5 不可见索引
  • 16.6 窗口函数
  • 16.6.1 窗口函数的特性
  • 16.6.2 窗口函数的使用
  • 16.7 持久化全局变量
  • 16.8 其他新特性
  • 16.9 总结
  • 第17章 云时代DBA工作的变化
  • 17.1 3种类型的云
  • 17.2 云应用的分类
  • 17.2.1 SaaS
  • 17.2.2 IaaS
  • 17.2.3 PaaS
  • 17.2.4 DBaaS
  • 17.3 RDS
  • 17.4 云原生数据库
  • 17.5 上公有云的好处
  • 17.6 上公有云的缺点
  • 17.7 数据库上公有云前的注意事项
  • 17.8 传统DBA的工作
  • 17.9 上云后DBA工作的变化
  • 17.9.1 关注点
  • 17.9.2 监控
  • 17.9.3 备份
  • 17.9.4 迁移
  • 17.9.5 云数据库的使用规范
  • 17.9.6 云产品文档
  • 17.9.7 命令行工具
  • 17.9.8 API/SDK工具
  • 17.9.9 成本控制
  • 17.10 云时代DBA的发展方向
  • 17.11 总结
  • 反侵权盗版声明
展开全部

评分及书评

3.0
3个评分
  • 用户头像
    给这本书评了
    2.0
    只写了皮毛

    你说这是一个人的学习笔记还差不多,书里写的一些概念,多追问两句,怕是作者自己都讲不清楚,这种东西是怎么能出版的。

      转发
      评论
      用户头像
      给这本书评了
      3.0
      内容过于简单

      知其然知其所以然,我觉得不是上来就将什么概念,因为这些都是从经验中获得一些解决办法。

        转发
        评论

      出版方

      电子工业出版社

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