数据备份的重要性
在生产环境中,数据的安全性至关重要,任何数据的丢失都可能产生严重的后果,造成数据丢失的原因:
-
程序错误
-
人为操作错误
-
运算错误
-
磁盘故障
-
灾难(如火灾、地震)和盗窃
数据库备份的分类
从物理与逻辑的角度,备份可分为:物理备份 和 逻辑备份
1、物理备份:对数据库操作系统的物理文件 (如数据文件日志文件等)的备份
-
冷备份(脱机备份):是在关闭数据库的时候进行的备份
-
热备份(联机备份):数据库处于运行状态,依赖于数据库的日志文件
-
温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作
2、逻辑备份:对数据库逻辑组件(如:表等数据库对象)的备份
-
完全备份:每次对数据库进行完整的备份
-
差异备份:备份自从上次完全备份之后被修改过的文件
-
增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份
MySQL完全备份与恢复
特点:每次进行完全备份,这样会导致备份文件占用空间巨大,并且会有大量的重复数据
恢复时,直接使用备份的文件即可
MySQL差异备份与恢复
特点:差异备份,都会备份上一次完全备份之后的数据,可能会出现备份重负的数据,也会导致占用额外的磁盘空间
恢复时,先恢复完全备份的数据,再恢复差异备份的数据
MySQL增量备份与恢复
特点:每次增量备份都是上一次完全备份数据增量之后的数据,不会出现备份重复数据的情况,也不会占用额外磁盘空间
恢复时,需要按次序,完全备份—>第一次增量—>第二次增量……
常见的备份方法:
物理冷备
-
备份时数据库处于关闭状态,直接打包数据库文件。
-
备份速度快,恢复时也是最简单的
专用备份工具mydump或mysqlhotcopy
-
mysqldump常用的逻辑备份工具
-
mysqlhotcopy仅拥有备份MyISAM和ARCHIVE表-
启用二进制日志进行增量备份
-
进行增量备份,需要刷新二进制日志
第三方工具备份
-
免费的MySQL热备份软件Percona XtraBackup
物理冷备份与恢复:
-
关闭MySQL数据库
-
使用tar命令直接打包数据库文件夹·直接替换现有MySQL目录即可
mysqldump备份与恢复:
-
MySQL自带的备份工具,可方便实现对MySQL的备份·
-
可以将指定的库、表导出为SQL脚本
-
使用命令mysql导入备份的数据
mysqldump完全备份:
1、完全备份一个或多个完整的库(包括库下面的所有表)
2、完全备份中,备份mysql中所有的库
3、完全备份中,指定库中的某张表或部分表(根据需求)
增量恢复包含:
1、一般恢复
-
普通恢复 使用二进制文件恢复
2、断点恢复
-
基于位置点恢复
如单独使用
-
--stop-poistion #之前所有数据进行恢复
-
--start-poistion #之后所有数据进行恢复
组合使用:
例:--start-poistion='20' #开始 --stop-poistion='50' #结束 表示只恢复20开始的数据到50的数据结束
3、时间点恢复
-
基于时间点恢复
单独使用
-
--stop-poistion
-
--start-poistion
组合使用:
例:--start-poistion=‘2023-08-29 16:00:15’ #开始 --stop-poistion=‘2023-08-29 16:15:16’ #结束 只恢复2023-08-29 16:00:15的数据到52023-08-29 16:14:16数据结束