mysql备份-基础知识

为了保障数据的安全,需要定期对数据进行备份。备份的方式有很多种,效果也不一样。一旦数据库中的数据出现了错误,就需要使用备份好的数据进行还原恢复。从而将损失降到最低。

1、为什么要备份

灾难恢复、审计、测试等操作需求,都需要对数据库进行备份。

2、备份方案设计的建议

在生产实践中,对于大数据库来说,物理备份是必需的,因为逻辑备份太慢并受到资源限制,而且从逻辑备份中恢复也需要很长的时间。

保留多个备份集

定期从逻辑备份(物理备份)中抽取数据进行恢复测试

保存二进制日志用于基于故障时间点的恢复。expire_logs_days参数应该设置得足够长,到少可以从最近两次物理备份中做基于时间点的恢复。

监控备份和备份过程,并验证备份是否正常。

测算恢复所需要的资源和时间。

3、逻辑备份与物理备份

1)逻辑备份

就是将数据包含在一种MySQL能够解析的格式中,要么是SQL,要么是以某个符号分隔的文本。

逻辑备份的优点:

备份与恢复简单、灵活

与存储引擎无关。因为是从MySQL服务器中提取数据而生成,所以消除了底层数据存储的影响。

有助于避免数据损坏。

备份文件可以普通的文本

逻辑备份的缺点:

必须由数据库服务器完成生成逻辑备份的工作,因此需要更多的服务器资源。

逻辑备份在某些场景下比数据库文件本身更大。

无法保证导出后再还原出来的一定是同样的数据。

从逻辑备份中还原需要MySQL加载和解释语句,转化为存储格式。

2)物理备份

直接复制原始文件到要备份的位置。

物理备份的优点:

基于文件的备份,只需要将需要的文件复制到其他地方即可完成。

物理备份的恢复比较简单,取决于存储引擎。

物理备份的恢复更快。因为不需要执行任何SQL或构建索引。

物理备份的缺点:

InnoDB的原始文件通常比生意人逻辑备份要大的多。

物流备份不总是可以跨平台、操作系统及MySQL版本。

4、备份什么

恢复的需求决定需要备份什么,最简单的策略是只备份数据和表定义。主要考虑如下内容:

数据

二进制日志和InnoDB事务日志

代码:触发器、存储过程等

复制配置:(二进制日志、中继日志、日志索引文件和.info文件)

服务器配置(my.cnf文件等)

操作系统文件(定时任务相关配置等)

5、增量备份和差异备份

当数据量很大时,一个常见的策略就是做定期的增量或者差异备份,它们之间的区别是:差异备份是对自上次全备份后所有改变的部份而做的备份,增量备份则是从任意类型的上次备份后所有修改做的备份。

你可能感兴趣的:(mysql备份-基础知识)