MySQL备份介绍
MySQL备份概述
1、为什么要备份
- 能够防止由于机器故障以及人为误操作带来的数据丢失,例如数据库文件保存在了其他的地方。
- 冗余:数据有多分冗余,但不等备份,只能防止机器故障还来的数据丢失,例如主备模式、数据库集群
2、备份必须重视的内容
- 备份内容databases Binlog my.cnf
- 所有备份数据都应该放在飞数据库本地,而且建议有多份副本。
- 测试环境中做日常回复演练,恢复较备份更为重要。
3、备份过程中必须考虑因素
- 数据一致性
- 服务的可用性
4、MySQL备份类型
1、物理备份
- 对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。物理备份又分为脱机备份(冷备份)和联机备份(热备份)。这种类型的备份适用于出现问题时需要快速恢复的大型重要数据库。
1.1、热备(hot bakcup)
- 在线备份,数据库处于运行状态,这种备份方法依赖于数据库的日志文件
- 对应用基本无影响(应用程序读写不会阻塞,但是性能还是会有下降,所以尽量不要再主上做备份。在从从库上做)
1.2、冷备(cold bakcup)
- 备份数据文件,需要停机,是在关闭数据库的时候进行的
- 备份datadir目录下所有的文件
1.3、温备(warm bakcup)
- 针对myisam的备份(myisam不支持热备),备份时候实例只读不写,数据库锁定表格(不可写入但可读)的状态下进行的
- 对应用影响很大
- 通常加一个读锁
2、逻辑备份
- 对数据库逻辑组件(如表等数据库对象)的备份,表示为逻辑数据库结构(create database、create table等语句)和内容(insert语句或分割文本文件)的信息。这种类型的备份适用于可以编辑数据值或表结构较小的数据量,或者在不同机器体系结构上重新创建数据
3、物理和逻辑备份的区别
逻辑备份 | 物理备份 | |
---|---|---|
备份方式 | 备份数据库逻辑内容 | 备份数据库物理文件 |
优点 | 备份文件相对较小,只备份表中的数据与结构 | 恢复速度比较快(物理文件恢复基本已经完成恢复) |
缺点 | 恢复速度较慢(需要重建索引,存储过程等) | 备份文件相对较大(备份表空间,包含数据与索引碎片) |
对业务影响 | 缓冲池污染(把所有数据读一遍,读到bp中),I/O负载加大 | I/O负载加大 |
代表工具 | mysqldump | ibbackup、xtrabckup、mysqlbackup |
4、备份方式的选择
从以下几个维度考虑备份方式:
- 备份速度
- 恢复速度
- 备份大小
- 对业务影响
5、MySQL备份工具
1、ibbackup
- 官方备份工具
- 收费
- 物理备份
2、xtrabackup
- 开源社区备份工具
- 开源免费,上面那东西的免费版本(老版本有问题,被分出来的数据可能有问题)
- 物理备份
3、mysqldump
- 官方自带备份工具,开源免费
- 逻辑备份(速度慢)
- 不阻塞dml,阻塞ddl
4、mysqlbakcup
- mysql官方备份工具
- innodb引擎的表mysqlbakcup可以进行热备
- 非innodb表mysqlbakcup就只能温备
- 物理备份,备份还原速度快
- 适合大规模数据使用
6、MySQL备份策略
完全备份
每次对数据进行完整的备份,即对整个数据库的备份、数据结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础。
优点:
- 备份与恢复操作简单方便。
缺点:
- 数据存在大量的重复;占用大量的空间;备份与恢复时间长。
差异备份
备份那些自从上次完全备份之后被修改过的所有文件,备份的时间起点是从上次完整备份起,备份数据量会越来越大。恢复数据时,只需恢复上次的完全备份与最近的一次差异备份
增量备份
只有那些在上次完全备份或增量备份之后修改的文件才会被备份,以上次完整备份或上次的增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份起到最后一次增量备份依次恢复,如中间某次的备份数据损坏,将导致数据的丢失。
6、mysqldump 逻辑备份
https://blog.csdn.net/qq_43164571/article/details/113249397