MySQL 王者晋级之路

🌙
手机阅读
本文目录结构

MySQL 王者晋级之路

编辑推荐

适读人群 :本书适合熟悉 Linux 系统且想提升 MySQL 水平的读者。 资深数据库专家十年沉淀

详细解析 MySQL 数据库体系结构

技术问答,助力面试

内容简介

目前大部分软件开发平台都基于 Linux,很多互联网公司都把 MySQL 作为后端数据存储的数据库。如果把 MySQL 比喻成数据库界的一条巨龙,则本书涵盖的所有知识点就是这条巨龙的组成部分。

本书深入剖析 MySQL 数据库体系结构,实战演练备份恢复、主从复制,详解高可用集群架构的设计与实践过程,详细梳理优化思路,展现新版本的特性,并与真实生产案例相结合,通过核心原理到“王者”实战,全面覆盖 MySQL 数据库的知识点。

本书适合熟悉 Linux 系统且想提升 MySQL 水平的读者。

目录

第 1 部分 倔强青铜篇

第 1 章 MySQL 简介与主流分支版本

  • 1.1 MySQL 简介

  • 1.2 MySQL 主流的分支版本

  • 1.2.1 官方版本的 MySQL

  • 1.2.2 Percona Server

  • 1.2.3 MariaDB

第 2 章 MySQL 数据库的安装、启动和关闭

  • 2.1 下载 MySQL 二进制软件包

  • 2.2 安装前系统环境检测

  • 2.3 MySQL 5.6 版本的安装过程

  • 2.4 创建密码

  • 2.5 关闭 MySQL 数据库

  • 2.6 基础数据库的名称

  • 2.7 MySQL 5.7 版本的安装

  • 2.8 MySQL 数据库 root 密码丢失的问题

  • 2.9 MySQL 数据库的连接方式

  • 2.10 用户权限管理

第 3 章 MySQL 体系结构与存储引擎

  • 3.1 MySQL 体系结构

  • 3.2 Query Cache 详解

  • 3.3 存储引擎

  • 3.4 InnoDB 体系结构

  • 3.4.1 数据库和数据库实例

  • 3.4.2 InnoDB 存储结构

  • 3.4.3 内存结构

  • 3.4.4 Buffer 状态及其链表结构

  • 3.4.5 各大刷新线程及其作用

  • 3.4.6 内存刷新机制

  • 3.4.7 InnoDB 的三大特性

第 4 章 数据库文件

  • 4.1 参数文件

  • 4.2 参数类型

  • 4.3 错误日志文件(error log)

  • 4.4 二进制日志文件(binary log)

  • 4.5 慢查询日志(slow log)

  • 4.6 全量日志(general log)

  • 4.7 审计日志(audit log)

  • 4.8 中继日志(relay log)

  • 4.9 Pid 文件

  • 4.10 Socket 文件

  • 4.11 表结构文件

  • 4.12 InnoDB 存储引擎文件

第 5 章 表

  • 5.1 整型

  • 5.2 浮点型

  • 5.3 时间类型

  • 5.4 字符串类型

  • 5.5 字符集

  • 5.6 表碎片产生的原因

  • 5.7 碎片计算方法及整理过程

  • 5.8 表统计信息

  • 5.9 统计信息的收集方法

  • 5.10 MySQL 库表常用命令总结

第 6 章 索引

  • 6.1 二叉树结构

  • 6.2 平衡二叉树结构

  • 6.3 B-tree 结构

  • 6.4 B+tree

  • 6.4.1 聚集索引和普通索引

  • 6.4.2 ICP、MRR 和 BKA

  • 6.4.3 主键索引和唯一索引

  • 6.4.4 覆盖索引

  • 6.4.5 前缀索引

  • 6.4.6 联合索引

  • 6.5 哈希索引

  • 6.6 索引的总结

第 7 章 事务

  • 7.1 事务的特性

  • 7.2 事务语句

  • 7.3 truncate 和 delete 的区别

  • 7.4 事务的隔离级别

  • 7.5 细说脏读、不可重复读、幻读、可重复读现象

  • 7.5.1 脏读

  • 7.5.2 不可重复读与幻读

  • 7.5.3 可重复读

第 8 章 锁

  • 8.1 InnoDB 的锁类型

  • 8.1.1 读锁

  • 8.1.2 写锁

  • 8.1.3 MDL 锁

  • 8.1.4 意向锁

  • 8.2 InnoDB 行锁种类

  • 8.2.1 单个行记录的锁

  • 8.2.2 间隙锁(GAP lock)

  • 8.2.3 Next-key Locks

  • 8.3 锁等待和死锁

  • 8.4 锁问题的监控

第 2 部分 秩序白银篇

第 9 章 备份恢复

  • 9.1 MySQL 的备份方式

  • 9.2 冷备及恢复

  • 9.3 热备及恢复

  • 9.3.1 mysqldump 的备份与恢复

  • 9.3.2 select …into outfile

  • 9.3.3 load data 与 insert 的插入速度对比

  • 9.3.4 mydumper

  • 9.3.5 裸文件备份 XtraBackup

  • 9.4 流式化备份

  • 9.4.1 非压缩模式的备份

  • 9.4.2 压缩模式的备份

  • 9.4.3 远程备份

  • 9.5 表空间传输

  • 9.6 利用 binlog2sql 进行闪回

  • 9.7 binlog server

  • 9.8 总结

第 3 部分 荣耀黄金篇

第 10 章 主从复制概述

  • 10.1 常见的几种主从架构模式图

  • 10.2 主从复制功能

  • 10.3 主从复制原理

  • 10.4 复制中的重点参数详解

第 11 章 复制原理及实战演练

  • 11.1 异步复制

  • 11.2 主从复制故障处理

  • 11.3 半同步复制

  • 11.4 半同步复制和异步复制模式的切换

  • 11.5 GTID 复制

  • 11.5.1 GTID 原理介绍

  • 11.5.2 GTID 存在的价值

  • 11.5.3 主从复制中 GTID 的管理与维护

  • 11.5.4 GTID 复制与传统复制的切换

  • 11.5.5 GTID 使用中的限制条件

  • 11.6 多源复制

  • 11.7 主从延迟的解决方案及并行复制

  • 11.8 主从复制的数据校验

  • 11.9 总结

第 4 部分 尊贵铂金篇

第 12 章 MHA

  • 12.1 MHA 简介

  • 12.1.1 MHA 部署

  • 12.1.2 MHA 原理

  • 12.1.3 MHA 的优缺点

  • 12.1.4 MHA 工具包的功能

  • 12.2 实战演练

第 13 章 Keepalived+ 双主架构

  • 13.1 Keepalived 介绍

  • 13.2 集群搭建思路及建议

  • 13.3 实验部署演练

第 14 章 PXC

  • 14.1 PXC 原理

  • 14.2 PXC 架构的优缺点

  • 14.3 PXC 中重要概念和重点参数

  • 14.4 PXC 架构搭建实战

  • 14.5 PXC 集群状态的监控

  • 14.6 从节点在线转化为 PXC 节点

第 15 章 ProxySQL

  • 15.1 ProxySQL 的安装与启动

  • 15.2 配置 ProxySQL 监控

  • 15.3 ProxySQL 的多层配置系统

  • 15.4 配置 ProxySQL 主从分组信息

  • 15.5 配置读写分离策略

  • 15.6 测试读写分离

  • 15.7 总结

第 5 部分 永恒钻石篇

第 16 章 MySQL 5.7 新特性

  • 16.1 InnoDB 存储引擎的增强

  • 16.2 其他方面的增强

第 17 章 MySQL 全面优化

  • 17.1 硬件优化

  • 17.2 配置参数优化

  • 17.3 从 Linux 操作系统层面来谈对 MySQL 的优化

  • 17.4 表设计及其他优化

  • 17.5 整体管理优化总结

第 6 部分 至尊星耀篇

第 18 章 Lepus 之 MySQL 监控

  • 18.1 Lepus 简介

  • 18.2 实战部署

  • 18.3 监控 MySQL 服务器

  • 18.4 部署 Lepus 慢查询分析平台实战

  • 18.5 监控总结

第 19 章 MySQL 版本升级

  • 19.1 升级方式

  • 19.2 实战演练

第 7 部分 最强王者篇

第 20 章 MySQL 面试宝典

  • 20.1 自我介绍

  • 20.2 技术问答

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了