此外,除了上面所说的数据文件之外,Innodb 还有自己存放 redo 信息和相关事务信息的日志文件在“innodb_log_group_home_dir”
参数所设定的位置。所以要想 Innodb 物理备份能够有效使用,我们还比需要备份“innodb_log_group_home_dir”
参数所设定的位置的所有日志文件。
③NDB Cluster 存储引擎
NDB Cluster 存储引擎(其实也可以说是 MySQL Cluster)的物理备份需要备份的文件主要有一下三类:
- 元数据(
Metadata
):包含所有的数据库以及表的定义信息; - 表数据(
Table Records
):保存实际数据的文件; - 事务日志数据(
Transaction Log
):维持事务一致性和完整性,以及恢复过程中所需要的事务信息。
不论是通过停机冷备份,还是通过 NDB Cluster 自行提供的在线联机备份工具,或者是第三方备份软件来进行备份,都需要备份以上三种物理文件才能构成一个完整有效的备份集。当然,相关的配置文件,尤其是管理节点上面的配置信息,同样也需要备份。
三、各存储引擎常用物理备份方法
由于不同存储引擎所需要备份的物理对象(文件)并不一样,且每个存储引擎对数据文件的一致性要求也不一样所以各个存储引擎在进行物理备份的时候所使用的备份方法也有区别。当然,如果我们是要做冷备份(停掉数据库之后的备份),我们所需要做的事情都很简单,那就是直接 copy 所有数据文件和日志文件到备份集需要存放的位置即可,不管是何种存储引擎都可以这样做。由于冷备份方法简单,实现容易,所以这里就不详细说明了。
在我们的实际应用环境中,是很少有能够让我们可以停机做日常备份的情况的,我们只能在数据库提供服务的情况下来完成数据库备份。这也就是我们俗称的热物理备份了。下面我们就针对各个存储引擎单独说明各自最常用的在线(热)物理备份方法。