MySQL高可用解决方案:从主从复制到InnoDB Cluster架构
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.2 恢复

实现可靠性最简单的方法是从故障中恢复。IT系统环境中有很多组件可能会发生故障,如应用程序服务器、数据库服务器、中间件,等等。恢复的目的就是使用尽可能少的时间和成本使系统重新投入使用。

现实中,系统无法从全部类型的故障中恢复。例如,机房遭遇火灾,多个服务器的磁盘无法恢复,如果恢复的话需要更换磁盘,并且中断期间的数据会丢失。因此,对于非常重要的组件,系统要求必须要做到能够恢复,数据库是IT系统环境中非常重要的组件,用户应该尽全力对其进行保护。

以发生磁盘损坏的事件为例,如果由于硬件故障导致数据损坏或丢失,那么用户需要一种方法来恢复数据,使损失降到最低。通常,用户可以通过频繁地备份数据来实现这一目的,当发生损坏事件时,用户可以通过恢复这些备份的副本,来恢复丢失的数据。

MySQL数据库的解决方案中包含了备份和恢复,读者需要理解两种类型的备份方法——逻辑备份和物理备份。

逻辑备份。逻辑备份通过遍历数据,逐行地复制数据,将数据从二进制形式转换为SQL语句,并将数据转储为数据文件。恢复时,通过执行SQL语句读取数据文件,将数据导入数据库。逻辑备份的优点是灵活,数据可以在恢复时进行修改,并且用户可以读取数据的内容。缺点是在进行大量数据备份时,速度慢,并且会占用更多的存储空间。

物理备份。物理备份是磁盘存储层的二进制副本。可以简单地理解为操作系统层面的文件复制。通常情况下,物理备份只能用于指定的应用程序,恢复时必须使用同一应用程序进行恢复。物理备份的优点是速度快,利用空间小,并且支持一些高级特性,例如增量备份、差异备份等。

如果系统的数据量规模比较小,则可以使用逻辑备份。如果数据量较大,则推荐用户使用物理备份。MySQL通常使用的物理备份工具有MySQL Enterprise Backup(Oracle提供的商业版软件)和XtraBackup(Percona提供的开源软件)。