《高可用MySQL》第二版 推荐

前言.xxi
第 1 部分 高可用性和可扩展性
第 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
ix
观察复制的动作………….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
x | 目录
清除 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
目录 | xi
小结 ..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
xii | 目录
配置半同步复制………..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
目录 | xiii
入门……..277
启动 MySQL 集群……..279
测试集群..283
关闭集群..284
获得高可用性284
系统恢复..287
节点恢复..288
复制……..289
获得高性能……293
高性能的注意事项…….294
高性能的最佳实践…….295
小结 ..297

第 2 部分 监控和管理

第 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
xiv | 目录
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
xvi | 目录
其他需要考虑的问题………..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
目录 | xvii
多 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
xviii | 目录
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
目录 | xix
显示磁盘使用情况 :mysqldiskusage ..574
检查表的索引 :mysqlindexcheck..577
查找元数据 :mysqlmetagrep………..578
查找进程 :mysqlprocgrep579
克隆服务器 :mysqlserverclone………..581
显示服务器信息 :mysqlserverinfo583
克隆用户 :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

第 1 部分 高可用性和可扩展性
第 1 章 引言 介绍了本书的价值,并提供了阅读的情境。
第 2 章 MySQL Replicant 库 介绍了贯穿本书的一个 Python 库。
第 3 章 MySQL 复制原理 讨论了设置基本复制的手动和自动流程。
第 4 章 二进制日志 解释了与复制、灾难恢复、故障排除和其他管理任务相关的关键文件。
第 5 章 面向高可用性的复制 给出了服务器故障恢复的多种方法,包括自动化脚本的使用。
第 6 章 面向横向扩展的 MySQL 复制 介绍了提升大数据集读扩展性的多种技术和拓扑结构。
第 7 章 数据分片 描述了处理超大数据库的技术,以及通过分片提升数据库的写扩展性。
第 8 章 深入复制 讲述了诸如安全数据传输和基于行的复制等主题。
第 9 章 MySQL 集群 描述了如何使用该工具达到高可用性。

第 2 部分 监控和管理
第 10 章 监控入门 介绍了必须注意的主要操作系统参数,以及监控它们的工具。
第 11 章 监控 MySQL 介绍了几种数据库行为和性能的监控工具。
第 12 章 监控存储引擎 更加详细地解释了需要监控的参数,重点描述 MyISAM 或者InnoDB 相关的问题。
第 13 章 监控复制 详细描述了如何跟踪主节点和从节点。
第 14 章 复制的故障排除 介绍了如何处理故障、重启、崩溃及其他意外事故。
第 15 章 保护你的资产 解释了备份和灾难恢复技术的使用。
第 16 章 MySQL 企业版监控 介绍了用于简化上述很多任务的一个工具套件。
第 17 章 使用 MySQL 实用工具管理 MySQL 复制 介绍了 MySQL 实用工具,包含管理MySQL 服务器的一整套工具。

xxii | 前言
附录
附录 A 为复制的提示和技巧,列举了特定情况下一些有用的方法。
附录 B 为一个 GTID 的实现,给出了如果服务器不支持 GTID,处理事务故障转移的实现方法。

到底什么是复制

复制就是把某个服务器上(称为主节点服务器或者简称主节点,即 master)的所有变化
克隆到另一个服务器(称为从节点服务器或简称从节点,即 slave)。复制通常用来创建
master 的一个可靠副本,不过复制也有其他用途。

两种最常见的使用复制的例子是:(1)创建一个 master 的备份,以避免 master 崩溃时丢
失数据 ;(2)创建一个 master 的副本,从而在不干扰其他业务的情况下执行报表和分析
工作。

目前很多应用程序中使用复制最重要的场景之一就是横向扩展(scale out)。现今的应用
程序通常是读密集型的,具有高读写比。为了减少 master 上的负载,你可以搭建一个专
门响应读请求的 slave。通过一个负载均衡器,可以将读请求定向到合适的 slave,而写
请求则交给 master 处理。

网盘下载

友情价:免费官网报价:点击查看

查看如下隐藏内容里的“提取码”:

关注公众号关注公众号
关注公众号,发送消息“查看密码”,输入系统回复的“查看密码”,点击“确定”按钮,即可看到“提取码”。

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论