MySQL管理员的经典必读之一,同样是来自O'Reilly的“动物书”。
第1章 引言
作为大型企业的DBA,你可能需要做以下的事情:
- 提供灾难发生时核心业务数据的恢复计划,并至少执行一次(当然,最好是定期演练);
- 监控各节点的负载,提供优化计划;
- 当业务急剧增长时的快速横向扩展计划。
为了保证业务可响应和可用,两件事情是必不可少的:
- 数据备份:可以将节点恢复到崩溃前的状态。根据业务需求决定备份方式,例如:需要即时恢复(point-in-time-recovery,PITR)吗?
- 冗余架构:保证即使一个或更多节点停止服务的情况下,业务任然可以继续运行。通过硬件副本实现,让几个实例并行运行,并通过复制在几个服务器上保存相同数据的多个可用副本。
到底什么是复制
概念:复制就是复制主节点的所有改变到另一个从节点。
意图:复制通常用来创建主节点的一个可靠副本,以避免主节点崩溃时丢失数据,或是在不干扰业务的情况下执行报表和分析工作。
复制最重要的两个应用:
1、横向扩展:减少主节点的负载(应用通常是读密集型,具有高读写比)。这里还需要重点理解MySQL复制的异步性,即事务在主节点提交后,才复制给从节点并应用。异步复制的好处是在于它比同步复制更快,更具扩展性。
2、添加冗余来保障高可用性:最常见是双主复制,使得一对主节点总是可用。
那么,是否需要备份
废话!必须的!备份可以应对:错误保护、建立新服务器、法律原因