失效链接处理 |
MySQL高可用实践 PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/28990494.html
相关截图:
资料简介: 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.1 MySQL异步复制简介 / 1 1.1.1 复制的用途 / 1 1.1.2 复制如何工作 / 2 1.1.3 两阶段提交 / 6 1.2 搭建实验环境 / 8 1.2.1 实验环境说明 / 8 1.2.2 安装MySQL / 8 1.3 配置异步复制 / 12 1.3.1 空库 / 12 1.3.2 脱机 / 16 1.3.3 联机 / 17 1.4 小结 / 20 第2章 半同步复制 / 21 2.1 MySQL半同步复制简介 / 21 2.2 性能提升 / 22 2.2.1 ACK异步化 / 22 2.2.2 控制从库反馈的数量 / 24 2.2.3 二进制日志互斥锁的改进 / 25 2.3 数据一致性 / 26 2.3.1 rpl_semi_sync_master_wait_point配置 / 26 2.3.2 sync_binlog配置 / 28 2.3.3 sync_relay_log配置 / 30 2.4 管理接口 / 32 2.5 配置半同步复制 / 32 2.5.1 安装插件 / 32 2.5.2 启用半同步复制 / 34 2.5.3 监控半同步复制 / 35 2.6 测试 / 37 2.6.1 正常提交事务 / 37 2.6.2 回滚事务 / 38 2.6.3 rpl_semi_sync_master_wait_no_slave与从库数量 / 40 2.7 小结 / 44 第3章 GTID与复制 / 45 3.1 GTID简介 / 45 3.1.1 什么是GTID / 45 3.1.2 GTID的格式与存储 / 46 3.2 GTID生命周期 / 54 3.2.1 典型事务的GTID生命周期 / 54 3.2.2 GTID分配 / 57 3.2.3 gtid_next系统变量 / 58 3.2.4 gtid_purged系统变量 / 60 3.3 GTID自动定位 / 68 3.4 配置GTID复制 / 70 3.4.1 联机配置GTID复制 / 70 3.4.2 联机更改复制模式 / 74 3.4.3 GTID相关系统变量 / 75 3.5 GTID运维 / 76 3.5.1 跳过一个事务 / 76 3.5.2 mysqldump导出 / 77 3.5.3 主从切换 / 78 3.6 GTID限制 / 81 3.7 GTID集合运算函数 / 84 3.7.1 GTID内置函数 / 84 3.7.2 用户自定义函数 / 84 3.7.3 使用示例 / 85 3.8 小结 / 88 第4章 复制拓扑结构与性能 / 89 4.1 复制拓扑结构 / 89 4.1.1 一主一(多)从 / 89 4.1.2 双(多)主复制 / 91 4.1.3 多源复制 / 99 4.1.4 Blackhole引擎与日志服务器 / 104 4.2 复制性能 / 108 4.2.1 测试规划 / 108 4.2.2 sync_binlog与innodb_flush_log_at_trx_commit / 111 4.2.3 组提交与多线程复制 / 111 4.2.4 基于WriteSet的多线程复制 / 117 4.3 小结 / 120 第5章 延迟复制与部分复制 / 121 5.1 延迟复制 / 121 5.1.1 延迟复制简介 / 121 5.1.2 延迟复制时间戳 / 124 5.1.3 监控延迟复制 / 125 5.2 部分复制 / 125 5.2.1 部分复制简介 / 126 5.2.2 评估库级复制选项 / 126 5.2.3 评估表级复制选项 / 129 5.2.4 复制规则应用 / 134 5.2.5 部分复制示例 / 136 5.3 主从切换 / 139 5.3.1 计划内主从切换 / 139 5.3.2 计划外切换 / 140 5.4 小结 / 148 第6章 组复制 / 149 6.1 组复制基本原理 / 149 6.1.1 MySQL复制技术 / 149 6.1.2 组复制使用场景 / 151 6.1.3 组复制相关服务 / 151 6.1.4 组复制插件体系结构 / 152 6.1.5 组复制分布式恢复 / 153 6.2 组复制安装部署 / 156 6.2.1 部署单主模式组复制 / 157 6.2.2 组复制监控 / 165 6.2.3 容错示例 / 165 6.3 组复制性能 / 172 6.3.1 概述 / 172 6.3.2 测试规划 / 174 6.3.3 消息压缩 / 177 6.3.4 组通信线程循环 / 178 6.3.5 写入集 / 178 6.3.6 流控 / 179 6.3.7 其他配置 / 181 6.3.8 主从、半同步、组复制性能对比测试 / 183 6.4 组复制要求与限制 / 185 6.4.1 组复制要求 / 185 6.4.2 组复制限制 / 187 6.5 小结 / 188 第7章 MySQL Router / 189 7.1 MySQL Router简介 / 189 7.1.1 透明路由 / 189 7.1.2 元数据缓存 / 190 7.1.3 简单重定向 / 190 7.1.4 部署与使用 / 191 7.1.5 MySQL Router 8.0的新特性 / 192 7.2 Router实现MySQL高可用示例 / 192 7.2.1 安装和配置 / 192 7.2.2 自动故障转移 / 199 7.2.3 负载均衡 / 202 7.2.4 读写分离 / 202 7.2.5 多实例 / 202 7.3 Router 8安装和配置 / 205 7.3.1 安装 / 205 7.3.2 启动 / 206 7.3.3 配置 / 210 7.4 小结 / 214 第8章 MySQL Fabric / 215 8.1 MySQL Fabric简介 / 215 8.1.1 MySQL Fabric的用途 / 215 8.1.2 MySQL Fabric架构 / 216 8.2 高可用性 / 218 8.2.1 概述 / 218 8.2.2 安装与配置 / 218 8.2.3 HA功能测试 / 226 8.3 数据分片 / 232 8.4 MySQL Fabric限制 / 233 8.5 小结 / 234 第9章 MMM / 235 9.1 MMM简介 / 235 9.1.1 基本功能 / 235 9.1.2 工作原理 / 236 9.1.3 典型用例 / 237 9.1.4 切换流程 / 238 9.1.5 系统需求 / 238 9.2 实现MySQL主主复制的高可用 / 240 9.2.1 基本环境 / 240 9.2.2 安装和配置 / 241 9.2.3 功能测试 / 244 9.3 小结 / 248 第10章 MHA / 249 10.1 MHA简介 / 249 10.1.1 基本功能 / 249 10.1.2 切换流程 / 250 10.1.3 部署架构 / 250 10.1.4 主要特点 / 251 10.1.5 工具介绍 / 252 10.2 安装和配置 / 252 10.2.1 配置主从复制 / 253 10.2.2 安装Perl依赖模块 / 253 10.2.3 配置SSH免密登录 / 254 10.2.4 安装MHA Node / 254 10.2.5 安装MHA Manager / 255 10.2.6 配置MHA / 255 10.2.7 创建相关脚本 / 257 10.2.8 检查MHA配置 / 265 10.3 功能测试 / 267 10.3.1 初始绑定VIP / 267 10.3.2 测试自动切换 / 267 10.3.3 测试手工切换 / 271 10.3.4 测试在线主从切换 / 273 10.3.5 修复宕机的主库 / 276 10.4 小结 / 276 第11章 Keepalived LVS / 277 11.1 Keepalived简介 / 277 11.1.1 VRRP协议 / 277 11.1.2 Keepalived架构设计 / 278 11.2 LVS简介 / 280 11.3 实现MySQL主从复制中的读写分离及高可用 / 281 11.3.1 架构设计 / 282 11.3.2 安装和配置 / 283 11.3.3 功能测试 / 292 11.4 实现MySQL双主复制的读写负载均衡及高可用 / 295 11.4.1 架构设计 / 295 11.4.2 安装和配置 / 296 11.4.3 功能测试 / 301 11.5 小结 / 304 第12章 Heartbeat HAProxy / 305 12.1 Heartbeat简介 / 305 12.1.1 Heartbeat组成模块 / 305 12.1.2 Heartbeat工作原理 / 307 12.2 HAProxy简介 / 308 12.3 实现MySQL主从复制的读写分离及高可用 / 309 12.3.1 架构设计 / 310 12.3.2 安装和配置 / 310 12.3.3 功能测试 / 320 12.4 实现MySQL双主复制的读写负载均衡及高可用 / 323 12.4.1 架构设计 / 323 12.4.2 安装和配置 / 324 12.4.3 功能测试 / 326 12.5 小结 / 329 第13章 InnoDB Cluster / 330 13.1 InnoDB Cluster简介 / 330 13.1.1 整体架构 / 330 13.1.2 MySQL Shell / 331 13.1.3 MySQL Router / 333 13.1.4 MySQL服务器集群 / 333 13.2 创建InnoDB Cluster / 334 13.2.1 检查实例配置 / 335 13.2.2 配置实例 / 337 13.2.3 创建集群 / 339 13.2.4 向集群添加实例 / 339 13.2.5 查看集群状态 / 341 13.2.6 基于已有组复制创建集群 / 343 13.2.7 配置MySQL Router / 343 13.2.8 测试客户端连接 / 346 13.2.9 测试高可用性 / 347 13.3 使用MySQL Shell管理InnoDB Cluster / 349 13.3.1 配置实例自动重新加入 / 349 13.3.2 从InnoDB Cluster中删除实例 / 350 13.3.3 重启集群 / 351 13.3.4 解散InnoDB Cluster / 352 13.3.5 配置新主选举权重 / 354 13.3.6 配置故障转移一致性 / 354 13.3.7 更改组复制拓扑 / 355 13.3.8 设置InnoDB Cluster选项 / 356 13.4 小结 / 357 第14章 Galera Cluster / 358 14.1 基本原理 / 358 14.1.1 同步复制 / 359 14.1.2 Galera复制架构 / 361 14.1.3 Galera工作原理 / 362 14.1.4 状态转移 / 363 14.1.5 流控 / 365 14.1.6 单节点故障与恢复 / 367 14.1.7 仲裁 / 367 14.2 安装和配置 / 371 14.2.1 初始安装 / 371 14.2.2 使用SST增加节点 / 375 14.2.3 使用IST增加节点 / 376 14.3 管理监控 / 380 14.3.1 在线DDL / 380 14.3.2 恢复主组件 / 382 14.3.3 重置仲裁 / 385 14.3.4 管理流控 / 386 14.3.5 自动逐出 / 388 14.3.6 启用Galera仲裁员 / 389 14.3.7 Galera集群监控 / 391 14.4 性能测试 / 394 14.4.1 测试规划 / 394 14.4.2 测试过程 / 397 14.5 负载均衡 / 399 14.5.1 安装 / 399 14.5.2 配置 / 400 14.5.3 启动 / 400 14.5.4 测试 / 401 14.6 小结 / 402 第15章 DRBD / 403 15.1 DRBD简介 / 403 15.1.1 工作原理 / 403 15.1.2 基本概念 / 404 15.2 DRBD安装和配置 / 405 15.2.1 测试环境 / 405 15.2.2 安装前的准备工作 / 406 15.2.3 下载安装DRBD / 407 15.2.4 配置DRBD / 407 15.3 测试MySQL数据同步 / 411 15.4 Heartbeat DRBD MySQL高可用方案 / 412 15.4.1 配置 / 413 15.4.2 测试 / 417 15.5 小结 / 419 第16章 优化案例 / 420 16.1 快速生成数字辅助表 / 420 16.2 将MySQL去重操作优化到极致 / 422 16.2.1 问题描述 / 422 16.2.2 巧用索引与变量 / 423 16.2.3 利用窗口函数 / 431 16.2.4 多线程并行 / 432 16.3 重叠时间段问题之算法优化 / 441 16.3.1 问题描述与分析 / 441 16.3.2 优化重叠查询 / 443 16.3.3 改进取得活跃时段的算法 / 449 16.3.4 MySQL 8的单条查询解决方案 / 456 16.4 快速安全删除MySQL大表 / 458 16.4.1 表删除过程 / 458 16.4.2 创建硬链接 / 459 16.4.3 删除表 / 460 16.4.4 删除文件释放空间 / 460 16.5 小结 / 461 |