1、备份恢复概述
1.1、为什么要备份
在遇到硬件故障、软件故障、自然灾害、黑客攻击、误操作测试等场景,很有可能丢失数据,如果没有备份,那丢失的数据就永远无法恢复,对业务造成很大的影响。
1.2、备份类型
- 完全备份,部分备份
- 完全备份:整个数据集
- 部分备份:只备份数据子集,如部分库或表
- 完全备份、增量备份、差异备份
- 增量备份:仅备份最近一次完全备份或增量备份(如果存在增量)以来变化的数据,备份较快,还原复杂
- 差异备份:仅备份最近一次完全备份以来变化的数据,备份较慢,还原简单
- 冷、温、热备份
- 冷备:读、写操作均不可进行,数据库停止服务
- 温备:读操作可执行;但写操作不可执行
- 热备:读、写操作均可执行
- MyISAM:温备,不支持热备
- InnoDB:都支持
- 物理和逻辑备份
- 物理备份:直接复制数据文件进行备份,与存储引擎有关,占用较多的空间,速度快
- 逻辑备份:从数据库中”导出”数据另存而进行的备份,与存储引擎无关,占用空间少,速度慢,可能丢失精度
1.3、备份什么
- 数据
- 二进制日志、InnoDB的事务日志
- 用户帐号,权限设置,程序代码(存储过程、函数、触发器、事件调度器)
- 服务器的配置文件
1.4、备份注意要点
- 能容忍最多丢失多少数据
- 备份产生的负载
- 备份过程的时长
- 温备的持锁多久
- 恢复数据需要在多长时间内完成
- 需要备份和恢复哪些数据
1.5、还原要点
- 做还原测试,用于测试备份的可用性
- 还原演练,写成规范的技术文档
1.6、备份工具
- cp, tar等复制归档工具:物理备份工具,适用所有存储引擎;只支持冷备;完全和部分备份
- LVM的快照:先加读锁,做快照后解锁,几乎热备;借助文件系统工具进行备份
- mysqldump:逻辑备份工具,适用所有存储引擎,对MyISAM存储引擎进行温备;支持完全或部分备份;对InnoDB存储引擎支持热备,结合binlog的增量备份
- xtrabackup:由Percona提供支持对InnoDB做热备(物理备份)的工具,支持完全备份、增量备份
- MariaDB Backup: 从MariaDB 10.1.26开始集成,基于Percona XtraBackup 2.3.8实现
- mysqlbackup:热备份, MySQL Enterprise Edition 组件
- mysqlhotcopy:PERL 语言实现,几乎冷备,仅适用于MyISAM存储引擎,使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库
1.7、数据库冷备份和还原
# 备份
[root@centos79-mysql01 ~]# service mysqld stop
[root@centos79-mysql01 ~]# rsync -a /data/mysql/ 192.168.1.22:/backup/
# 如果有配置存放在其他目录的日志文件等,也需要备份
# 模拟数据丢失
[root@centos79-mysql01 ~]# rm -rf /data/mysql/*
# 还原
[root@centos79-mysql02 backup]# rsync -a /backup/* 192.168.1.21:/data/mysql/
[root@centos79-mysql01 ~]# service mysqld start
# 如果有权限不一致,还原后修改权限
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END