逻辑备份逻辑备份相关的工具有:
- mysqldumpMySQL安装包自带的备份工具,单线程备份 。
- mydumper由Facebook、SkySQL、Oracle和Percona开发人员维护的一个多线程备份工具,可实现行级别的并行备份 。
- https://github.com/maxbube/mydumper
- mysqlpumpMySQL 5.7引入的备份工具,可实现表级别的并行备份 。
- MySQL ShellMySQL Shell 8.0.21引入了一个工具-util.dumpInstance(),可实现行级别的并行备份 。这个工具对备份实例和恢复实例的版本有要求:备份实例 >= 5.6,恢复实例 >= 5.7 。
- select … INTO OUTFILESQL命令,可将表记录直接导出到文件中 。
- 从实现原理来看,mysqldump、 mydumper、mysqlpump、 MySQL Shell可归为一类,本质上都是通过select * FROM TABLE的方式备份数据,只不过在此基础上,通过全局读锁 + REPEATABLE READ事务隔离级别,实现了数据库的一致性备份 。
- select … INTO outfile 充其量只是一个命令,算不上工具,更不用说数据库的一致性备份 。
- 从导出的内容来看,mysqldump、mydumper、mysqlpump 会以insert语句的形式保存备份结果,如,insert INTO `t1` VALUES (1,’aaa’),(2,’bbb’),(3,’ccc’);
而 MySQL Shell和select … INTO outfile 是以CSV格式的形式保存备份结果,如,1 aaa
2 bbb3 ccc - 在恢复,各个工具对应的恢复工具也不一样 。具体来说,mysqldump、mysqlpump对应的恢复工具是mysql客户端,所以是单线程恢复 。mydumper对应的恢复工具是myloader,支持多线程恢复 。util.dumpInstance()对应的恢复工具是util.loadDump(),该工具实际调用的是LOAD DATA LOCAL INFILE命令,支持多线程恢复 。select … INTO outfile对应的恢复命令是LOAD DATA 。
第一张图比较的是备份时间,mysqldump是mysqlbackup的49倍 。
第二张图比较的是恢复时间,mysqldump是mysqlbackup的80倍 。
借此,我们也能看到逻辑备份工具相对于物理备份工具在备份、还原速度上的差距 。
不过可惜的是,这里没有测试mydumper 。
毕竟,针对数据量较大的实例,如果一定要使用逻辑备份,大家一般倾向于使用mydumper,而不是mysqldump 。
如何检测备份的有效性为什么要检测备份的有效性,原因主要有两个:
- 验证整个备份环节的可靠性 。包括备份参数是否完备,备份集是否有效,备份介质是否损坏等 。
- 通过检查备份的有效性,搭建一套完整的自动化恢复体系 。很多时候,影响数据库恢复时间的并不是备份集太老,而是手动恢复过程中,因为命令、环境、流程的不熟悉,所带来的额外耗时 。
- 基于备份恢复实例,看实例能否起来 。并在此基础上,进行随机查询 。这种检测方法最简单 。一般来说,实例能起来,且随机查询也没问题,就意味着这个备份集是可用的 。但备份集可用,并不意味着这个备份集能满足我们的需求,譬如常见的,搭建从库 。而且一些常见的问题,如备份中断、参数没指定准确,也无法通过这种方式检测出来 。
推荐阅读
- win7专业版永久激活工具哪个好 系统之家win7激活工具使用方法
- u盘检测修复工具 万能u盘修复工具免费
- 系统盘制作工具有哪些 2022最干净的u盘启动盘
- 除夕拜年还是初一拜年 除夕拜年还是初一拜年工作群
- java编程软件有哪些 常用java编程软件工具
- 居家隔离有工资吗
- 管控区不能去上班有工资吗
- 冰粉吃着有点苦是怎么回事
- dvd转换器破解版 转换器使用说明
- 飞利浦吸尘器fc8202专用工具 飞利浦吸尘器fc8202说明书