第1章 五分钟成为一名DBA 1
1.1 MySQL备份 2
1.1.1确定数据库的大小 3
1.1.2选择锁策略 4
1.1.3运行时间 5
1.1.4组合信息 6
1.2执行MySQL备份 6
1.2.1运行mysqldump 7
1.2.2安全地备份 9
1.2.3使用mysqldump的好处 9
1.2.4更多信息 10
1.2.5其他选项 10
1.3本章小结 11
第2章 理解备份选项 13
2.1术语 14
2.2选择备份策略 15
2.2.1数据库的可用性 15
2.2.2存储引擎 16
2.2.3锁策略 16
2.2.4 MySQL拓扑 20
2.3静态备份选项 20
2.3.1文件系统备份 21
2.3.2 SQL导出 22
2.3.3表抽取 30
2.3.4文件系统快照 31
2.3.5 InnoDB热备份 37
2.3.6未讨论到的选项 53
2.4时间点要求 54
2.4.1二进制日志 55
2.4.2二进制日志文件的位置 56
2.4.3二进制日志备份的方案 57
2.5硬件方面的考虑事项 58
2.6数据源一致性 59
2.7备份的安全性 59
2.8本章小结 60
第3章 理解灾难恢复的业务要求 61
3.1需求定义 62
3.2明确责任 63
3.2.1术语 64
3.2.2技术人员的责任 66
3.2.3决策者的责任 66
3.2.4确定依赖关系 67
3.3案例研究 67
3.3.1 MySQL拓扑 67
3.3.2备份和恢复策略 67
3.3.3一场真实的灾难 68
3.3.4技术成果 70
3.3.5决策过程 71
3.3.6必不可少的外部沟通 72
3.4为最糟的情形制定计划 72
3.4.1 SAN的完全失败 73
3.4.2电力中断 73
3.4.3爆炸 74
3.4.4 FBI的扣押 74
3.4.5断电 74
3.4.6人员因素 75
3.4.7人力资源 75
3.5制定一个策略计划 76
3.6本章小结 77
第4章 使用MySQL复制 79
4.1 MySQL复制的体系结构 80
4.2 MySQL复制的局限性 83
4.2.1复制的滞后 83
4.2.2一致性 85
4.2.3完备性 91
4.3复制设计的考虑事项 92
4.3.1二进制日志的行格式 92
4.3.2半同步复制 95
4.4复制备份的考虑事项 95
4.4.1 InnoDB后台线程 98
4.4.2冷备份选项 98
4.4.3 mysqldump选项 99
4.4.4文件系统快照选项 101
4.4.5 MySQL企业备份(MEB)选项 102
4.4.6 XtraBackup选项 102
4.5体系结构设计的考虑事项 103
4.6将出现的复制功能 104
4.7本章小结 105
第5章 使用恢复选项 107
5.1测试简述 108
5.2明确所需的恢复类型 109
5.2.1MySQL软件失败 109
5.2.2崩溃恢复 111
5.2.3 MyISAM表恢复 114
5.2.4其他存储引擎 116
5.2.5表定义的恢复 117
5.3执行静态恢复 118
5.3.1 MySQL软件安装 119
5.3.2 MySQL数据 120
5.4执行一个时间点恢复 129
5.4.1二进制日志的位置 129
5.4.2独立恢复 131
5.4.3使用复制流 133
5.4.4二进制日志镜像 134
5.5恢复的验证 137
5.6备份和恢复的测试 139
5.7其他重要方面 140
5.8本章小结 141
第6章 MySQL的配置选项 143
6.1数据管理 144
6.1.1数据位置 144
6.1.2数据一致性 146
6.1.3二进制日志 150
6.2 MySQL复制 153
6.3恢复 156
6.4本章小结 158
第7章 灾难场景 159
7.1处理MySQL灾难 160
7.2著名的MySQL灾难 161
7.2.1 Magnolia 162
7.2.2 Couch Surfing 163
7.2.3 Journal Space 164
7.2.4 Percona 165
7.3其他著名的数据灾难 167
7.3.1 Sidekick/Microsoft的数据丢失 167
7.3.2 Github 168
7.3.3 TD Rank 169
7.4通常的MySQL灾难情形 170
7.4.1没有激活记录二进制日志 170
7.4.2单服务器 171
7.4.3适当的MySQL安全 172
7.4.4适当的MySQL配置 173
7.4.5删除MySQL数据 176
7.4.6删除InnoDB数据文件 179
7.4.7删除MySQL二进制日志 181
7.5现有备份和恢复过程的灾难 183
7.5.1 MySQL软件升级 183
7.5.2操作系统的安全补丁升级 184
7.5.3处理MyISAM毁坏 185
7.5.4丢失数据库模式 197
7.5.5在一个运行中的MySQL实例上恢复备份 199
7.6处理InnoDB的特殊情况 202
7.6.1自动恢复 202
7.6.2 InnoDB数据字典不一致 204
7.6.3自动恢复致使数据库服务器崩溃 205
7.7其他MySQL情况 206
7.7.1复制不一致 206
7.7.2 RDS恢复失败 209
7.8常见的停机原因 210
7.9外部帮助 212
7.10本章小结 213
第8章 优化备份和恢复 215
8.1示例备份环境 216
8.2使用压缩 218
8.2.1 mysqldump 218
8.2.2 MySQL企业备份(MEB) 222
8.2.3 XtraBackup 225
8.3流备份 226
8.3.1利用SSH 226
8.3.2利用nc 228
8.3.3 MySQL企业备份(MEB) 228
8.3.4 XtraBackup 231
8.4远程备份 233
8.4.1 mysqldump 233
8.4.2 MySQL企业备份(MEB) 234
8.4.3 XtraBackup 234
8.5并行处理 235
8.5.1 mydumper 235
8.5.2 XtraBackup 241
8.6增量备份 244
8.6.1 MySQL企业备份(MEB) 244
8.6.2 XtraBackup 248
8.7部分备份 252
8.7.1 mysqldump 253
8.7.2 MySQL企业备份(MEB) 253
8.7.3 XtraBackup 253
8.8 MySQL备份安全 253
8.9体系结构的考虑 259
8.10本章小结 260
第9章 云计算中的MySQL 261
9.1 Amazon Relational Database Service(RDS) 262
9.1.1创建示例数据库 263
9.1.2 MySQL版本 264
9.1.3备份选项 264
9.1.4恢复选项 268
9.2 Google Cloud SQL 274
9.2.1创建样本数据库 274
9.2.2备份选项 276
9.2.3恢复选项 277
9.3 HP Cloud Database as a Service(DBaaS) 277
9.3.1 MySQL的版本 278
9.3.2示例数据库的创建 279
9.3.3备份选项 280
9.3.4恢复选项 281
9.4云对备份和恢复的影响 281
9.5本章小结 283