展开全部

主编推荐语

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

内容简介

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

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

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

目录

  • 版权信息
  • 内容简介
  • 作者简介
  • 前言
  • 第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 小结
展开全部

评分及书评

评分不足
1个评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。