![]() 作者:【美】Charles Bell(查理斯 贝尔/【美】Mats Kindahl(迈茨 肯德尔)/【美】Lars Thalmann(拉尔斯 塞尔曼) 出版社: 电子工业出版社 译者:宁青/唐李洋 出版年: 2015-10 页数: 680 定价: 128.00 ISBN: 9787121266881 内容简介 · · · · · ·《高可用MySQL(第2版)》主要讲解真实环境下如何使用MySQL的复制、集群和监控特性,揭示MySQL可靠性和高可用性的方方面面。《高可用MySQL(第2版)》定位于解决MySQL数据库的常见应用瓶颈,在保持MySQL持续可用性的前提下,挖潜各种提高性能的解决方案。《高可用MySQL(第2版)》描述了很多MySQL工具的变化,涵盖了5.5 版本的知识,以及若干5.6版本的功能。《高可用MySQL(第2版)》的作者正是书中介绍的很多工具的设计师,《高可用MySQL(第2版)》揭示了MySQL可靠性和高可用性的许多不为人知的方面。 《高可用MySQL(第2版)》适用于MySQL数据库管理员及MySQL应用开发者。对于相关专业的师生,也有很高的参考价值。 作者简介 · · · · · ·Charles A. Bell博士是Oracle的高级软件工程师。目前是备份首席开发员,并且是MySQL备份和复制小组的成员。 Mats Kindahl博士是Oracle MySQL小组的首席高级软件开发员。他是MySQL基于行的复制及其他几个复制功能的主要架构师和实现者,目前是MySQL高可用性小组的架构师和项目主管,正在开发MySQL Fabric。 Lars Thalmann博士是MySQL复制和备份的开发经理。他创建并发展了MySQL的备份功能,引导了MySQL复制的变革,已经成为MySQL集群复制发展的重要角色。 译者介绍 OCP,阿里第一代MySQL DBA(花名玉泉),擅长自动化运维、监控,MySQL与Hadoop专家,并热衷于机器学习研究 目录 · · · · · ·前言. ..................................... xxi第 1章 引言............................. 2 到底什么是复制 ................ 4 那么,是否需要备份 ........ 5 什么是监控 ..................................................................... 6 其他阅读材料 ................... 6 · · · · · ·() 前言. ..................................... xxi 第 1章 引言............................. 2 到底什么是复制 ................ 4 那么,是否需要备份 ........ 5 什么是监控 ..................................................................... 6 其他阅读材料 ................... 6 小结 .................................. 7 第 2章 MySQL.Replicant库. .... 8 基本类和函数 ................. 12 对各种操作系统的支持... 13 服务器 ............................. 13 服务器角色 ..................... 15 小结 ................................ 17 第 3章 MySQL复制原理.. ........ 18 复制的基本步骤 .............. 19 配置 master .............. 20 配置 slave ................ 21 连接 master和 slave 22 二进制日志简介 .............. 23 二进制日志记录了什么 ......................................... 24 观察复制的动作 ...... 25 二进制日志的结构和内容 ..................................... 27 建立新 slave .................... 30 克隆 master .............. 31 克隆 slave ................ 33 克隆操作的脚本 ...... 35 执行常见的复制任务 ...... 37 报表 ......................... 37 小结 ................................ 43 第 4章 二进制日志.................. 45 二进制日志的结构 .......... 46 binlog事件的结构 ... 48 事件校验 ................. 50 将语句写入日志 .............. 51 写入 DML语句 ....... 52 写入 DDL语句 ........ 52 写入查询 ................. 52 LOAD DATA INFILE语句 .................................... 58 二进制日志过滤器 .. 60 触发器、事件和存储例程 ..................................... 62 存储过程 ................. 68 存储函数 ................. 70 事件 ......................... 74 特殊结构 ................. 75 非事务型变更和错误处理 ..................................... 75 将事务写入日志 .............. 78 使用 XA进行分布式事务处理.............................. 83 二进制日志的组提交 ............................................. 86 基于行的复制 ................. 88 启用基于行的复制 .. 89 使用混合模式 .......... 90 二进制日志管理 .............. 90 二进制日志和系统崩溃安全 ................................. 91 binlog文件轮换 ...... 92 事故 ......................... 94 清除 binlog文件 ...... 94 mysqlbinlog实用工具 ..... 95 基本用法 ................. 96 解释事件 ............... 104 二进制日志的选项和变量 ........................................... 108 基于行的复制参数 110 小结 ...............................111 第 5章 面向高可用性的复制...... 112 冗余 .............................. 113 计划 .............................. 114 slave故障 .............. 115 master故障 ............ 115 relay故障 .............. 116 灾难恢复 ............... 116 方法 .............................. 116 热备份 ................... 118 双主结构 ............... 122 提升 slave .............. 131 环形复制 ............... 135 小结 .............................. 137 第 6章 面向横向扩展的 MySQL复制...................................... 138 横向扩展读操作,而不是写操作 ................................ 140 异步复制的价值 ............ 141 管理复制拓扑 ............... 142 应用层的负载均衡 145 级联复制 ....................... 153 配置 relay .............. 154 使用 Python添加 relay ........................................ 155 专用 slave...................... 156 过滤复制事件 ........ 157 使用过滤将事件分配给 slave .............................. 159 数据的一致性管理 ........ 160 非级联部署的一致性 ........................................... 161 级联部署的一致性 163 小结 .............................. 169 第 7章 数据分片.................... 171 什么是数据分片 ............ 172 为什么要分片 ........ 173 分片的局限性 ........ 174 分片方案的要素 ............ 176 高层分片架构 ........ 177 数据分区 ....................... 178 分配分片 ............... 182 映射分片关键字 ............ 186 分片方案 ............... 186 分片映射函数 ........ 190 处理查询和事务调度 .... 194 处理事务 ............... 195 分配查询 ............... 197 分片管理 ....................... 199 将分片迁移到其他节点 ....................................... 199 分割分片 ............... 203 小结 .............................. 203 第 8章 深入复制................... 204 复制架构基础 ............... 205 中继日志的结构 .... 206 复制线程 ............... 209 启动和停止 slave线程 ........................................ 210 通过 Internet运行复制 .. 211 使用内置支持建立安全复制 ............................... 212 使用 Stunnel建立安全复制 ................................. 213 细粒度控制复制 ............ 215 关于复制状态的信息 ........................................... 215 处理断开连接的选项 .... 223 slave如何处理事件 ....... 224 管理 I/O线程 ........ 224 SQL线程的处理 ... 225 半同步复制 ................... 231 配置半同步复制 .... 232 监控半同步复制 .... 234 全局事务标识符 ............ 234 使用 GTID配置复制 ........................................... 235 使用 GTID进行故障转移 ................................... 237 使用 GTID提升 slave.......................................... 238 GTID的复制 ......... 240 slave的安全和恢复 ....... 242 同步、事务以及数据库崩溃问题 ........................ 242 事务型复制............ 244 保护非事务型语句的规则 ................................... 248 多源复制 ....................... 248 基于行的复制的细节 .... 251 Table_map事件 ..... 253 行事件的结构 ........ 255 行事件的执行 ........ 256 事件和触发器 ........ 257 基于行的复制中的过滤 ....................................... 259 部分行复制............ 260 小结 .............................. 261 第 9章 MySQL集群............. 263 什么是 MySQL集群 ..... 264 术语和组件............ 264 MySQL集群和 MySQL有何不同 ....................... 265 典型配置 ............... 265 MySQL集群的特点 ............................................ 266 本地和全局冗余 .... 268 日志处理 ............... 268 冗余和分布式数据 269 MySQL集群的架构 ...... 269 如何存储数据 ........ 271 分区 ....................... 274 事务管理 ............... 275 联机操作 ............... 275 配置实例 ....................... 276 入门 ....................... 277 启动 MySQL集群 . 279 测试集群 ............... 283 关闭集群 ............... 284 获得高可用性 ............... 284 系统恢复 ............... 287 节点恢复 ............... 288 复制 ....................... 289 获得高性能 ................... 293 高性能的注意事项 294 高性能的最佳实践 295 小结 .............................. 297 第 10章 监控入门. ................. 300 监控方法 ....................... 301 监控的好处 ................... 301 监控系统组件 ............... 302 处理器 ................... 302 内存 ....................... 304 磁盘 ....................... 304 网络子系统............ 306 监控方案 ....................... 306 Linux和 UNIX监控 ..... 307 进程活动 ............... 308 内存利用率............ 312 磁盘利用率............ 314 网络活动 ............... 317 常见系统统计信息 318 使用 cron自动监控 ............................................. 319 Mac OS X 监控 ............. 320 System Profiler ...... 320 控制台 ................... 322 Activity Monitor .... 324 Microsoft Windows监控 ............................................. 327 Windows体验 ....... 327 系统健康报告 ........ 329 事件查看器............ 331 可靠性监视器 ........ 333 任务管理器............ 334 性能监视器............ 335 预防性维护监控 ............ 337 小结 .............................. 337 第 11章 监控 MySQL............ 339 什么是性能 ................... 340 MySQL服务器监控 ...... 340 如何显示 MySQL性能........................................ 341 性能监控 ............... 342 SQL命令 ............... 342 mysqladmin实用工具 ......................................... 348 MySQL工作台...... 350 第三方工具............ 360 MySQL基准测试套件 ........................................ 362 服务器日志 ................... 364 性能模式 ....................... 366 概念 ....................... 367 入门 ....................... 369 使用性能模式诊断性能问题 ............................... 377 MySQL的监控分类 ...... 378 数据库性能 ................... 380 衡量数据库的性能 380 数据库优化的最佳实践 ....................................... 392 提高性能的最佳实践 .... 400 一切都很慢............ 400 查询慢 ................... 400 应用慢 ................... 401 复制慢 ................... 401 小结 .............................. 401 第 12章 监控存储引擎............ 403 InnoDB.......................... 403 使用 SHOW ENGINE命令 ................................. 406 使用 InnoDB监视器 ........................................... 409 监控日志文件 ........ 413 监控缓冲池............ 414 监控表空间............ 416 使用 INFORMATION_SCHEMA表 ................... 417 使用 PERFORMANCE_SCHEMA表 .................. 418 其他需要考虑的参数 ........................................... 419 InnoDB故障排除的技巧 ..................................... 420 MyISAM ....................... 422 优化磁盘存储 ........ 423 修复表 ................... 423 使用 MyISAM实用工具 ..................................... 424 按索引顺序存储表 425 压缩表 ................... 426 对数据表进行碎片整理 ....................................... 426 监控 key cache....... 426 预加载 key cache ... 427 使用多个 key cache ............................................. 428 其他需要考虑的参数 ........................................... 429 小结 .............................. 430 第 13章 监控复制. ................. 432 入门 .............................. 432 服务器设置 ................... 433 包容性和排他性复制 .... 433 复制线程 ....................... 435 监控 master ................... 437 master的监控命令 437 master的状态变量 441 监控 slave...................... 441 slave的监控命令 ... 442 slave的状态变量 ... 446 使用 MySQL工作台监控复制 .................................... 447 其他需要考虑的问题 .... 449 网络 ....................... 449 监控和管理 slave滞后 ........................................ 450 slave滞后的原因和预防措施 .............................. 450 使用 GTID ............. 452 小结 .............................. 453 第 14章 复制的故障排除......... 454 哪里出错了 ................... 455 master上的问题............ 455 master崩溃及 Memory表被占用 ........................ 455 master崩溃及二进制日志事件丢失 .................... 456 master上查询正常但在 slave上出错 .................. 457 崩溃之后表损坏 .... 458 master上的二进制日志损坏 ............................... 459 杀死非事务型表上长时间运行的查询................. 459 不安全的语句 ........ 460 slave上的问题 .............. 462 slave服务器崩溃及复制无法启动 ....................... 462 slave连接超时及反复重新连接 .......................... 463 slave上的查询结果与 master上的不同 .............. 463 当尝试重启 SSL时 slave出错 ............................ 464 内存表数据丢失 .... 465 slave崩溃后临时表丢失 ..................................... 465 slave运行慢而且与 master不同步 ...................... 465 slave崩溃后数据丢失 ......................................... 466 崩溃后表损坏 ........ 466 slave上中继日志损坏 ......................................... 467 slave重启时的多个错误 ..................................... 467 slave上事务失败的后果 ..................................... 467 I/O线程的问题 ..... 467 SQL线程的问题:不一致 ................................... 468 slave上的错误不一样 ......................................... 468 高级复制问题 ............... 469 变更没有在拓扑中复制 ....................................... 469 环形复制的问题 .... 469 多 master的问题 ... 470 HA_ERR_KEY_NOT_FOUND错误................... 470 GTID问题 ............. 470 复制的故障排除工具 .... 471 最佳实践 ....................... 472 了解你的拓扑结构 472 检查所有服务器的状态 ....................................... 475 检查日志 ............... 475 检查配置 ............... 475 有序地执行关闭操作 ........................................... 475 有序地执行故障后的重启操作 ............................ 476 手动执行失败的查询 ........................................... 476 不要混合使用事务型表和非事务型表................. 477 一般步骤 ............... 477 报告复制错误 ............... 478 小结 .............................. 479 第 15章 保护你的资产............ 481 什么是信息保护 ............ 482 信息保障的三个实践 ........................................... 482 信息保障为什么重要 ........................................... 483 信息完整性、灾难恢复及备份的职责 ........................ 483 高可用性与灾难恢复 ........................................... 484 灾难恢复 ............... 484 数据恢复的重要性 489 备份和恢复............ 490 备份实用程序和操作系统层的解决方案 .................... 494 MySQL企业备份 .. 495 使用 MySQL实用工具集进行数据库的导出和导入......................................... 507 mysqldump工具 .... 507 物理文件复制 ........ 510 逻辑卷管理器快照 511 XtraBackup ............ 516 备份方法的比较 .... 516 备份和 MySQL复制 ..... 517 使用复制进行备份和恢复 ................................... 518 PITR ...................... 518 自动备份 ....................... 526 小结 .............................. 528 第 16章 MySQL企业版监控... 530 MySQL企业版监控入门 ............................................ 531 产品 ....................... 532 剖析 MySQL企业监控器.................................... 532 安装概述 ............... 533 MySQL企业监控组件 .. 537 Dashboard .............. 537 监控代理 ............... 539 advisor ................... 539 查询分析器............ 541 MySQL产品支持 .. 542 使用 MySQL企业版监控............................................ 542 监控 ....................... 544 查询分析器............ 549 更多信息 ............... 551 小结 .............................. 551 第 17章 使用 MySQL实用工具管理 MySQL复制..................... 553 常见的 MySQL复制任务............................................ 554 状态检查 ............... 554 停止复制 ............... 557 添加 slave .............. 558 MySQL实用工具 .......... 560 入门 ....................... 560 不通过工作台使用实用工具 ............................... 560 通过工作台使用实用工具 ................................... 560 常用工具 ....................... 562 比较数据库的一致性: mysqldbcompare ............. 562 复制数据库: mysqldbcopy ................................. 565 导出数据库: mysqldbexport ............................... 566 导入数据库: mysqldbimport .............................. 569 发现不同: mysqldiff ........................................... 570 显示磁盘使用情况: mysqldiskusage .................. 574 检查表的索引: mysqlindexcheck ....................... 577 查找元数据: mysqlmetagrep .............................. 578 查找进程: mysqlprocgrep................................... 579 克隆服务器: mysqlserverclone ........................... 581 显示服务器信息: mysqlserverinfo ..................... 583 克隆用户: mysqluserclone ................................. 584 实用工具客户端: mysqluc ................................. 585 复制的实用工具 ............ 586 配置复制: mysqlreplicate ................................... 586 检查复制的配置: mysqlrplcheck ........................ 588 显示拓扑结构: mysqlrplshow ............................ 591 高可用的实用工具 ........ 592 概念 ....................... 592 mysqlrpladmin ....... 593 mysqlfailover ......... 598 创建自己的实用工具 .... 606 MySQL实用工具的结构..................................... 606 自定义工具的示例 607 小结 .............................. 616 附录A 复制的提示和技巧.........617 附录B 一个 GTID的实现. ....... 634 索引. .................................... 645 · · · · · · () |
不一样的观点
我骄傲
经典
开始看的很有意思