首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 图书频道 > 计算机与网络 > 数据库 >

数据库:高可用MySQL:构建健壮的数据中心[平装]

2013-04-09 来源:读书人网 
跟踪master和slave,处理故障、重启、崩溃及其他事故,使用作者写的开源库实现关键任务的自动化,学习虚拟化环境下的My SQL技术,如Amazonweb Services.使用My SQL集群实现高可用性。
商家名称 信用等级 购买信息 订购本书
数据库:高可用MySQL:构建健壮的数据中心[平装] 去商家看看
数据库:高可用MySQL:构建健壮的数据中心[平装] 去商家看看

高可用MySQL:构建健壮的数据中心 [平装]

编辑推荐

《高可用MySQL:构建健壮的数据中心》:服务器瓶颈和故障是数据库部署中的常见问题,但并不是没有解决的办法。MySQL的一些特性能够保证,无论系统运行在硬件、虚拟机,还是云环境,系统都不停机。《高可用My SQL》一书讲解了真实环境下如何使用这些复制、集群和监控特性。《高可用MySQL:构建健壮的数据中心》由设计这些工具的工程师们所编写,揭示了My SQL可靠性和高可用性一些难以发现的方方面面,这些知识对使用该数据库系统的组织来说非常重要。探究二进制日志,这是在灾难恢复和故障渗断的时候需要复制的文件;掌握改善响应时间和处理大数据集的技术;学习如何使用复制横向扩展服务器,监控数据库活动和性能,以及主要的操作系统参数;跟踪master和slave,处理故障、重启、崩溃及其他事故,使用作者写的开源库实现关键任务的自动化,学习虚拟化环境下的My SQL技术,如Amazonweb Services.使用My SQL集群实现高可用性。
Charles Bell博士是复制和备份领域的高级开发人员,兴趣包括数据库理论,软件工程及敏捷开发实践。Mats Kindahl博士是MySQL复制和备份小组的首席开发者。Lars Thalmann博士是MySQL复制和备份小组的开发经理和技术领导,设计了很多复制和备份特性。

媒体推荐

“MySQL复制被广泛部署,但却从未得到充分的解释。这本书将改变这种状况。”
  ——Mark Callaghan MySQL贡献者,同时是一些世界级Internet公司的MySQL工程领导

作者简介

作者:(美国)查理斯·贝尔 (Bell.C.) (美国)迈茨·肯德尔 (Kindahl.M.) (美国)拉尔斯·塞尔曼 (Thalann.L.) 译者:宁青 唐李洋 诸云萍

宁青,工作过几年,由一家小公司转战Cisco WebEx,现在淘宝数据平台部架构组下讨生活。做过几年Java,并会点Perl,Python。现专注于数据这块,搞过Oracle和MySQL,顺带还考了个OCP认证,但绝大多数时间是在Hive,Hadoop这块瞎搞。
唐李洋,合肥工业大学在读博士,研究方向为云计算、并行计算、数据挖掘与分析等。曾经在Cisco WebEx实习,主要从事数据架构方面的设计与分析工作。
诸云萍,合肥工业大学计算机专业学士,中国科学技术大学工商管理硕士(MBA),ORACLE认证OCP。从事数据库开发、测试与管理工作5年以上,具有丰富的MySQL,Oracle,Sybase等关系型数据库项目实践经验。曾在神州数码安徽移动BOSS项目组负责报表开发工作,现就职于Cisco-WebEx合肥分公司,从事Oracle,Mysql数据库以及ETL的测试与管理工作。

目录

目录
Table of Contents
前言 i
第一部分 复制
第1章 引言 3
到底什么是复制 5
那么,是否需要备份 6
什么是监控 7
还有什么我可以阅读的 7
小结 8

第2章 MySQL复制原理 9
复制的基本步骤 10
配置Master 11
配置Slave 12
连接Master和Slave 13
二进制日志简介 14
二进制日志记录了什么 15
观察复制的动作 16
二进制日志的结构和内容 17
使用Python管理复制 20
viii | 目录
基本类及函数 22
操作系统 23
服务器类 23
服务器角色 25
建立新Slave 26
克隆Master 27
克隆Slave 29
克隆操作的脚本 31
执行常见的复制任务 33
报表 33
小结 39

第3章 二进制日志 41
二进制日志的结构 42
Binlog事件的结构 44
记录语句 45
记录数据操作语言 46
记录数据定义语言 46
记录查询 47
LOAD DATA INFILE语句 52
二进制日志过滤器 54
触发器、事件和存储程序 56
存储过程 61
存储函数 64
Events 66
特殊结构 66
非事务性的变化和错误处理 67
记录事务 70
事务缓存 71
使用XA进行分布式事务处理 74
目录 | ix
二进制日志管理 76
二进制日志和系统崩溃安全 77
Binlog文件轮换(Rotation) 78
事故(incident) 79
清除binlog文件 80
mysqlbinlog实用工具 81
基本用法 81
解释事件(Interpreting Events) 88
二进制日志选项和变量 92
小结 94

第4章 基于复制的数据库高可用技术 95
冗余 96
计划 98
Slave故障 98
Master故障 98
中继服务器故障 99
灾难恢复 99
程序 99
热备份 102
双Master 107
半同步复制 116
Slave的提升 119
循环复制 134
小结 138

第5章 MySQL集群的横向扩展 139
读操作的横向扩展 141
异步复制的价值 142
管理复制拓扑 144
x | 目录
应用层负载均衡器示例 147
级联复制(Hierarchal Replication) 150
中继服务器的设置 151
使用Python添加中继服务器 152
专用Slave 153
过滤复制事件 154
使用过滤将事件分配给Slave 155
数据分片 157
分片的表示 159
数据分区 160
分片之间的均衡 161
一个分片的例子 163
数据的一致性管理 174
非级联部署中的一致性 174
级联部署中的一致性 176
小结 182

第6章 高级复制 183
复制架构基础 184
中继日志的结构 185
复制线程 187
Slave线程的启动和停止 188
通过Internet运行复制 189
使用内置支持建立安全复制 191
使用Stunnel建立安全复制 192
细粒度控制复制 194
关于复制状态的信息 194
处理断开连接的参数 201
Slave是如何处理事件的 202
管理I/O线程 202
目录 | xi
SQL线程的处理 203
Slave的安全和恢复 208
同步,事务和数据库崩溃问题 209
保护非事务性语句的规则 210
多源复制 211
基于行的复制 214
基于行的复制参数 215
混合模式的复制 215
处理基于行复制的事件 216
事件的执行 220
事件和触发器 222
过滤 223
小结 225
第二部分 监控和灾难恢复

第7章 监控入门 229
监控方法 230
监控的好处 231
监控系统组件 231
处理器 231
内存 233
磁盘 233
网络子系统 234
监控方法 235
Linux和UNIX监控 236
进程活动 237
内存利用率 241
磁盘利用率 243
网络活动 246
xii | 目录
常见系统统计信息 248
使用cron自动监控 249
Mac OS X 监控 249
System profile 250
控制台(console) 252
Activity Monitor 253
Microsoft Windows监控 257
Windows Experience 257
System health report 259
Event Viewer(事件查看器) 261
Reliability Monitor 263
The Task Manager(任务管理器) 264
Performance Monitor 266
预防性维护监控 267
小结 268

第8章 监控MySQL 269
什么是性能 270
MySQL服务器监控 270
如何显示MySQL性能 271
性能监控 271
SQL命令 272
mysqladmin实用工具 278
MySQL GUI工具 279
MySQL管理器 280
MySQL查询浏览器 289
服务器日志 290
第三方工具 293
MySQL Benchmark套件 295
目录 | xiii
数据库性能 296
测量数据库性能 297
数据库优化的最佳实践 308
提高性能的最佳实践 315
一切都慢 316
慢查询 316
慢应用 316
慢复制 317
小结 317

第9章 监控存储引擎 319
MyISAM 320
优化磁盘存储 320
优化数据库表 320
使用MyISAM实用工具 321
按索引顺序存储表 323
压缩表 323
对数据表进行碎片整理 323
监控Key Cache 324
预加载Key Cache 325
使用多个Key Cache 325
其他需要考虑的参数 326
InnoDB 328
使用SHOW ENGINE命令 329
使用InnoDB监控器 332
监控日志文件 335
监控缓冲池 336
监控表空间 338
使用INFORMATION_SCHEMA表 338
xiv | 目录
其他需要考虑的参数 339
小结 340

第10章 复制监控 341
开始 341
安装服务器 342
包容性和排他性复制 342
复制线程 344
监控Master 346
Master的监控命令 346
Master状态变量 349
监控Slave 350
Slave的监控命令 350
Slave的状态变量 353
使用MySQL管理器监控复制 354
其他需要考虑的项 356
网络 356
监控和管理Slave滞后 356
Slave延迟的原因和预防措施 357
小结 358

第11章 复制的故障排除 361
什么导致错误发生 362
Master上的问题 362
Slave上的问题 366
高级复制问题 371
排除复制故障的工具 372
最佳实践 374
了解你的拓扑结构 374
查询所有服务器的状态 376
目录 | xv
查看日志 376
检查配置信息 377
有序执行系统关闭 377
在遇到错误后按序执行重启 377
手动执行失败查询 378
常用程序 378
报告复制故障 379
小结 380

第12章 保护你的投资 383
什么是信息保障 384
信息保障的三个应用 384
信息保障为什么重要 385
信息完整性、灾难恢复及备份的职责 385
高可用性与灾难恢复 386
灾难恢复 386
数据恢复的重要性 391
备份和恢复 392
备份实用程序和操作系统级的解决方案 396
InnoDB Hot Backup应用 397
物理文件的复制 400
mysqldump工具 402
XtraBackup 404
逻辑卷管理器快照 404
备份方法的比较 409
备份和MySQL复制 410
使用复制进行备份和恢复 410
PITR 411
自动备份 418
xvi | 目录
小结 421

第13章 MySQL企业版 423
MySQL企业版入门 424
订阅级别 425
安装概述 426
MySQL企业组件 427
MySQL企业服务器 427
MEM 427
MySQL产品支持 431
MySQL企业版的使用 431
安装 432
修复监控代理问题 433
监控 434
查询分析器 440
更多信息 443
小结 443
第三部分 高可用性环境

第14章 云计算解决方案 447
什么是云计算 448
云架构 450
云计算是一种经济的选择吗 453
云计算实例 454
云计算的好处 454
云计算供应商 455
AWS 456
技术简要概述 457
它是如何工作的 461
目录 | xvii
Amazon Cloud工具 461
入门 465
使用磁盘 479
接下来怎么做 484
云中的MySQL 484
MySQL复制和EC2 485
EC2中使用MySQL的最佳实践 488
开源云计算 490
小结 491

第15章 MySQL集群 493
什么是MySQL集群 494
术语和组件 494
MySQL集群和MySQL有何不同 495
典型配置 495
MySQL集群的特点 496
局部和全局冗余 497
日志处理 498
冗余和分布式数据 498
MySQL集群的架构 499
如何存储数据 501
分区 504
事务管理 504
联机操作 505
配置实例 506
入门 507
启动MySQL集群 508
集群测试 513
关闭集群 514
xviii | 目录
达到高可用性 514
系统恢复 517
节点恢复 518
复制 518
获得高性能 523
高性能的注意事项 523
高性能的最佳实践 524
小结 527
附录A 复制建议和窍门 529
Slave停机了,怎么办 529
检查冗长的二进制日志 530
利用复制在表中重建数据 530
基于语句的日志 530
基于行的日志 531
使用MySQL Proxy来完成多Master的复制 531
使用默认的存储引擎 532
MySQL Cluster 多源(Multisource)复制 532
多路(Multichannel)复制故障转移 533
使用当前数据库来过滤 533
Slave上的列比Master上多 534
Slave上的列比Master上少 535
选择某几列复制到Slave 536
复制心跳 537
在环形复制中忽略服务器 538
功能预览:延时复制 538
功能预览:脚本式复制 539
功能预览:Oracle算法 540
索引 541

文摘

版权页:

数据库:高可用MySQL:构建健壮的数据中心[平装]



插图:

数据库:高可用MySQL:构建健壮的数据中心[平装]



事务计算数据库用户都比较熟悉事务计算:多个数据段可以在单个事务中被同时处理,并和其他数据相互关联。这种想法就是定义了一个job,它包含特定数据并在这些数据上单步地(即事务)执行一些操作。最好的网格计算解决方案使用这种概念来保证结果的正确交付。然而,云计算稍微有点复杂。具体来说,大型事务应用要运行很长一段时间,而网格解决方案只需很少的执行时间。幸好在云计算环境中构建一个事务计算系统是有可能的。为此,我们必须要保证计算资源长寿,并提供允许数据分段和并行处理的机制。
如果你在想“嘿,这听起来似乎像服务器农场”,那么你是对的。大多数云计算供应商提供虚拟资源来支持事务计算解决方案,包括负载均衡器、持久化实例和网络资源的永久分配。弹性我们用术语“弹性”来描述已经成为商品的抽象网络或系统资源。例如,Amazon允许你将给定的IP地址应用到它的云环境中的任何服务器实例上。这在事务系统中是很重要的,你需要一个回应特定地址的服务器池。这是很好的服务器虚拟化,所以它们可以在云中的任何地方运行,而你必须有一个方法来保证IP地址保持不变。在这种情况下,IP地址就成为一个弹性资源,你可以将它分配到任何实例,而不是拥绑在一个特定的机器上。
同样,磁盘资源也是弹性的,你可以在一个磁盘资源上存储数据,云中的任何正在运行的实例都可以访问它。弹性解决了正在运行的虚拟机器的硬件配置问题。机器可以真正做到即插即用,你可以轻易地创建和毁掉它们。例如,可以从一个运行某种操作系统的机器切换到另一个开发过程中的机器上(可能有一些细微的改变),并仍然可以访问同样的数据而不需要重新创建一个新的数据库。

推荐阅读:

营销快速入门汇编

领导干部素质提升读物

国企老总经常阅读的书

更多图书资讯可访问读书人图书频道:http://www.reader8.cn/book/


(作者:查理斯·贝尔 (Bell.C.) 编辑:kind887)
热点排行