MySQL高可用实践

MySQL高可用实践

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

    关注微信公众号

因版权原因待上架

编辑推荐

本书从复制、中间件、集群、存储、优化五个方面介绍MySQL高可用技术。

内容简介

MySQL数据库是现代软件系统基础应用的核心组成部分,如何保持MySQL的高可用性在系统应用中就变得极为重要。

本书从复制、中间件、集群、存储、优化五个方面介绍MySQL高可用技术。本书分为16章,内容包括异步复制、半同步复制、GTID与复制、复制拓扑与性能、延迟复制与部分复制、组复制、MySQL Router、MySQL Fabric、MMM、MHA、Keepalived LVS、Heartbeat HAProxy、InnoDB Cluster、Galera Cluster、DRBD、优化案例等。

本书适合DBA、系统管理运维、应用程序开发、架构师等MySQL相关技术人员作为参考书,也适合作为高等院校和培训学校相关专业的技术培训教材。

作者简介

作者王雪迎,毕业于中国地质大学计算机专业,高级工程师,20年数据库、数据仓库相关技术工作经验。先后供职于北京现代商业信息技术有限公司、北京在线九州信息技术服务有限公司、华北计算技术研究所、北京优贝在线网络科技有限公司,担任DBA、数据架构师等职位。著有图书《Hadoop构建数据仓库实践》《HAWQ数据仓库与数据挖掘实战》《SQL机器学习库MADlib技术解析》。

章节目录

版权信息

内容简介

作者简介

前言

第1章 异步复制

1.1 MySQL异步复制简介

1.1.1 复制的用途

1.1.2 复制如何工作

1.1.3 两阶段提交

1.2 搭建实验环境

1.2.1 实验环境说明

1.2.2 安装MySQL

1.3 配置异步复制

1.3.1 空库

1.3.2 脱机

1.3.3 联机

1.4 小结

第2章 半同步复制

2.1 MySQL半同步复制简介

2.2 性能提升

2.2.1 ACK异步化

2.2.2 控制从库反馈的数量

2.2.3 二进制日志互斥锁的改进

2.3 数据一致性

2.3.1 rpl_semi_sync_master_wait_point配置

2.3.2 sync_binlog配置

2.3.3 sync_relay_log配置

2.4 管理接口

2.5 配置半同步复制

2.5.1 安装插件

2.5.2 启用半同步复制

2.5.3 监控半同步复制

2.6 测试

2.6.1 正常提交事务

2.6.2 回滚事务

2.6.3 rpl_semi_sync_master_wait_no_slave与从库数量

2.7 小结

第3章 GTID与复制

3.1 GTID简介

3.1.1 什么是GTID

3.1.2 GTID的格式与存储

3.2 GTID生命周期

3.2.1 典型事务的GTID生命周期

3.2.2 GTID分配

3.2.3 gtid_next系统变量

3.2.4 gtid_purged系统变量

3.3 GTID自动定位

3.4 配置GTID复制

3.4.1 联机配置GTID复制

3.4.2 联机更改复制模式

3.4.3 GTID相关系统变量

3.5 GTID运维

3.5.1 跳过一个事务

3.5.2 mysqldump导出

3.5.3 主从切换

3.6 GTID限制

3.7 GTID集合运算函数

3.7.1 GTID内置函数

3.7.2 用户自定义函数

3.7.3 使用示例

3.8 小结

第4章 复制拓扑结构与性能

4.1 复制拓扑结构

4.1.1 一主一(多)从

4.1.2 双(多)主复制

4.1.3 多源复制

4.1.4 Blackhole引擎与日志服务器

4.2 复制性能

4.2.1 测试规划

4.2.2 sync_binlog与innodb_flush_log_at_trx_commit

4.2.3 组提交与多线程复制

4.2.4 基于WriteSet的多线程复制

4.3 小结

第5章 延迟复制与部分复制

5.1 延迟复制

5.1.1 延迟复制简介

5.1.2 延迟复制时间戳

5.1.3 监控延迟复制

5.2 部分复制

5.2.1 部分复制简介

5.2.2 评估库级复制选项

5.2.3 评估表级复制选项

5.2.4 复制规则应用

5.2.5 部分复制示例

5.3 主从切换

5.3.1 计划内主从切换

5.3.2 计划外切换

5.4 小结

第6章 组复制

6.1 组复制基本原理

6.1.1 MySQL复制技术

6.1.2 组复制使用场景

6.1.3 组复制相关服务

6.1.4 组复制插件体系结构

6.1.5 组复制分布式恢复

6.2 组复制安装部署

6.2.1 部署单主模式组复制

6.2.2 组复制监控

6.2.3 容错示例

6.3 组复制性能

6.3.1 概述

6.3.2 测试规划

6.3.3 消息压缩

6.3.4 组通信线程循环

6.3.5 写入集

6.3.6 流控

6.3.7 其他配置

6.3.8 主从、半同步、组复制性能对比测试

6.4 组复制要求与限制

6.4.1 组复制要求

6.4.2 组复制限制

6.5 小结

第7章 MySQL Router

7.1 MySQL Router简介

7.1.1 透明路由

7.1.2 元数据缓存

7.1.3 简单重定向

7.1.4 部署与使用

7.1.5 MySQL Router 8.0的新特性

7.2 Router实现MySQL高可用示例

7.2.1 安装和配置

7.2.2 自动故障转移

7.2.3 负载均衡

7.2.4 读写分离

7.2.5 多实例

7.3 Router 8安装和配置

7.3.1 安装

7.3.2 启动

7.3.3 配置

7.4 小结

第8章 MySQL Fabric

8.1 MySQL Fabric简介

8.1.1 MySQL Fabric的用途

8.1.2 MySQL Fabric架构

8.2 高可用性

8.2.1 概述

8.2.2 安装与配置

8.2.3 HA功能测试

8.3 数据分片

8.4 MySQL Fabric限制

8.5 小结

第9章 MMM

9.1 MMM简介

9.1.1 基本功能

9.1.2 工作原理

9.1.3 典型用例

9.1.4 切换流程

9.1.5 系统需求

9.2 实现MySQL主主复制的高可用

9.2.1 基本环境

9.2.2 安装和配置

9.2.3 功能测试

9.3 小结

第10章 MHA

10.1 MHA简介

10.1.1 基本功能

10.1.2 切换流程

10.1.3 部署架构

10.1.4 主要特点

10.1.5 工具介绍

10.2 安装和配置

10.2.1 配置主从复制

10.2.2 安装Perl依赖模块

10.2.3 配置SSH免密登录

10.2.4 安装MHA Node

10.2.5 安装MHA Manager

10.2.6 配置MHA

10.2.7 创建相关脚本

10.2.8 检查MHA配置

10.3 功能测试

10.3.1 初始绑定VIP

10.3.2 测试自动切换

10.3.3 测试手工切换

10.3.4 测试在线主从切换

10.3.5 修复宕机的主库

10.4 小结

第11章 Keepalived+LVS

11.1 Keepalived简介

11.1.1 VRRP协议

11.1.2 Keepalived架构设计

11.2 LVS简介

11.3 实现MySQL主从复制中的读写分离及高可用

11.3.1 架构设计

11.3.2 安装和配置

11.3.3 功能测试

11.4 实现MySQL双主复制的读写负载均衡及高可用

11.4.1 架构设计

11.4.2 安装和配置

11.4.3 功能测试

11.5 小结

第12章 Heartbeat+HAProxy

12.1 Heartbeat简介

12.1.1 Heartbeat组成模块

12.1.2 Heartbeat工作原理

12.2 HAProxy简介

12.3 实现MySQL主从复制的读写分离及高可用

12.3.1 架构设计

12.3.2 安装和配置

12.3.3 功能测试

12.4 实现MySQL双主复制的读写负载均衡及高可用

12.4.1 架构设计

12.4.2 安装和配置

12.4.3 功能测试

12.5 小结

第13章 InnoDB Cluster

13.1 InnoDB Cluster简介

13.1.1 整体架构

13.1.2 MySQL Shell

13.1.3 MySQL Router

13.1.4 MySQL服务器集群

13.2 创建InnoDB Cluster

13.2.1 检查实例配置

13.2.2 配置实例

13.2.3 创建集群

13.2.4 向集群添加实例

13.2.5 查看集群状态

13.2.6 基于已有组复制创建集群

13.2.7 配置MySQL Router

13.2.8 测试客户端连接

13.2.9 测试高可用性

13.3 使用MySQL Shell管理InnoDB Cluster

13.3.1 配置实例自动重新加入

13.3.2 从InnoDB Cluster中删除实例

13.3.3 重启集群

13.3.4 解散InnoDB Cluster

13.3.5 配置新主选举权重

13.3.6 配置故障转移一致性

13.3.7 更改组复制拓扑

13.3.8 设置InnoDB Cluster选项

13.4 小结

第14章 Galera Cluster

14.1 基本原理

14.1.1 同步复制

14.1.2 Galera复制架构

14.1.3 Galera工作原理

14.1.4 状态转移

14.1.5 流控

14.1.6 单节点故障与恢复

14.1.7 仲裁

14.2 安装和配置

14.2.1 初始安装

14.2.2 使用SST增加节点

14.2.3 使用IST增加节点

14.3 管理监控

14.3.1 在线DDL

14.3.2 恢复主组件

14.3.3 重置仲裁

14.3.4 管理流控

14.3.5 自动逐出

14.3.6 启用Galera仲裁员

14.3.7 Galera集群监控

14.4 性能测试

14.4.1 测试规划

14.4.2 测试过程

14.5 负载均衡

14.5.1 安装

14.5.2 配置

14.5.3 启动

14.5.4 测试

14.6 小结

第15章 DRBD

15.1 DRBD简介

15.1.1 工作原理

15.1.2 基本概念

15.2 DRBD安装和配置

15.2.1 测试环境

15.2.2 安装前的准备工作

15.2.3 下载安装DRBD

15.2.4 配置DRBD

15.3 测试MySQL数据同步

15.4 Heartbeat+DRBD+MySQL高可用方案

15.4.1 配置

15.4.2 测试

15.5 小结

第16章 优化案例

16.1 快速生成数字辅助表

16.2 将MySQL去重操作优化到极致

16.2.1 问题描述

16.2.2 巧用索引与变量

16.2.3 利用窗口函数

16.2.4 多线程并行

16.3 重叠时间段问题之算法优化

16.3.1 问题描述与分析

16.3.2 优化重叠查询

16.3.3 改进取得活跃时段的算法

16.3.4 MySQL 8的单条查询解决方案

16.4 快速安全删除MySQL大表

16.4.1 表删除过程

16.4.2 创建硬链接

16.4.3 删除表

16.4.4 删除文件释放空间

16.5 小结

MySQL高可用实践是2020年由清华大学出版社出版,作者王雪迎。

得书感谢您对《MySQL高可用实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
MySQL数据库教程 电子书
本书以当前较流行的MySQL5.7作为平台,系统介绍MySQL数据库原理及其应用。具体内容涉及MySQL初步、MySQL数据库和表、MySQL查询和视图、MySQL索引与完整性约束、MySQL语言、MySQL存储过程函数触发器事件、MySQL数据库备份与恢复、MySQL用户权限维护和MySQL十五管理。通过实验对命令进行操作练习,保证实验内容和教程同步,教程实例和实验实例分别自成系统,简单方便。在
MySQL数据库教程 电子书
本书以当前流行的MySQL为平台,系统介绍MySQL数据库及其应用开发,全书内容分为4个部分。第一部分MySQL基础,首先介绍数据库基础知识和MySQL环境构建方法,然后分别介绍MySQL数据库和表、MySQL查询和视图、MySQL索引与完整性约束、MySQL语言、MySQL过程式数据库对象、MySQL数据库备份与恢复、MySQL用户权限与维护、MySQL事务管理等,并配套习题、实训和微课视频。第
MySQL数据库管理实战 电子书
MySQL数据库管理从入门到实战,零基础读者上手MySQL的理想读物。
MySQL基础与实例教程 电子书
本书以“案例先行、任务驱动、增设场景、案例实训”为编写模式,介绍了MySQL的相关知识及其在数据库开发中的实际应用,并通过具体案例,帮助读者巩固所学知识,以便更好地进行开发实践。全书共1l章,内容涵盖了数据库设计、MySQL基础知识、表管理、函数、存储过程、触发器、事务与锁机制、数据备份与恢复等。
MySQL数据库应用教程 电子书
本书以技能培养为目标,以就业为导向,采用任务驱动的方式,全面讲解了MySQL数据库的相关知识和应用技巧。MySQL数据库几乎支持所有操作系统,具有免费使用、配置简单、稳定性好、性能优良等优点。本书将MySQL数据应用技能分为MySQL数据库基础操作、数据定义、数据更新、数据查询、数据完整性与安全性、并发与恢复和数据库编程七章,并在每章后面配有相应的实验。  本书内容充实、结构合理、实用性强并且语言