mysql数据备份

helei 2021-6-19 807 6/19

用于备份恢复的工具有很多。对于大型应用,不建议使用mysqldump,因为它对服务器有影响,并且还原时间也不可预知。本节简单介绍几种备份工具。

1.MySQL Enterprise Backup

MySQL Enterprise Backup是MySQL“官方”的备份工具,它是一个多平台、高性能的工具,提供在线备份、增量和差异备份、选择性备份和恢复等功能,支持直接云存储备份、备份加密和压缩等丰富功能。

MySQL Enterprise Backup能够备份和恢复由MySQL支持的各种存储引擎创建的各种表,它的读写过程(在独立的多线程中执行)和块级并行性(不同线程可以在单个文件中读取,处理或写入不同块)使备份和恢复过程能够以极快的速度完成,与使用mysqldump之类的工具进行逻辑备份相比,它们通常具有显著的性能提升。

2.XtraBackup

XtraBackup与MySQL Enterprise Backup在很多方面都非常类似,它是由知名的数据库软件服务企业Percona提供的一款热备份工具,是开源并且免费的。XtraBackup备份时具有读写无阻塞、支持增量等特点。

除了核心备份工具外,还有一个用Perl写的封装脚本,可以提供更多的高级功能,它支持类似流、增量、压縮和多线程(并行)备份操作。也有许多特别的功能,用以减小在高负载的系统上备份的影响。

XtraBackup的工作方式是在后台线程不断追踪InnoDB日志文件尾部,然后复制InnoDB数据文件,这是个轻量级的侵入过程,依靠特别的检测机制确保复制的数据是一致的。当所有的数据文件被复制完,日志复制线程就结束了。结果是在不同的时间点的所有数据的副本,可以使用InnoDB崩溃恢复代码应用事务日志,以达到所有数据文件一致的状态。详情可以参见http://code.google.com/xtrabackup-manager/。

3.mylvmbackup

mylvmbackup是一种快速创建MySQL服务器数据文件的完整物理备份的工具,是一个Perl脚本。为了执行备份,mylvmbackup在所有表上获得读锁定并将所有服务器缓存刷新到磁盘,为包含MySQL数据目录的卷制作LVM(Logical Volume Manager,逻辑卷管理)快照,然后再次解锁表。快照过程只需要很短的时间。完成后,服务器可以继续正常操作,而实际文件备份继续进行。

LVM快照安装到临时目录,默认情况下使用tar程序备份所有数据。档案文件是使用backup-YYYYMMDD_hhmmss_mysql.tar.gz格式创建的,其中YYYY,MM,DD,hh,mm和ss分别表示年、月、日、小时、分钟和秒的时间备份发生了。

mylvmbackup还提供了几种记录和报告备份运行进度及成功的方法,日志消息可以打印到控制台(STDOUT)或通过系统日志记录。

此外,还可以通过电子邮件向发送报告,并且可以通过SNMP(Simple Network Management Protocol,简单网络管理协议)接收有关故障或成功的通知。

4.mydumper

mydumper是一个针对MySQL数据库备份的轻量级第三方的开源工具,备份方式为逻辑备份。它支持多线程,备份速度远高于原生态的mysqldump。mysqldump工具支持单线程工作,依次导出多个表,没有一个并行的机,这就使得它无法迅速备份数据。mydumper作为一个实用工具,能够良好地支持多线程工作,可以并行多线程从表中读入数据并同时写到不同的文件里,这使得它在处理速度方面快于传统的mysqldump。其特征之一是在处理过程中需要对列表加以锁定,因此如果需要在工作时段执行备份工作,那么可能会引起DML阻塞,但一般现在的MySQL都有主从,备份也大部分在从上进行,所以锁的问题可以不用考虑,这样mydumper能更好地完成备份任务。

5.mysqlhotcopy

mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供,它将FLUSH TABLES、LOCK TABLES以及cp/scp等命令封装调用,能够直接对数据库或某些指定的表对象创建备份,方便用户执行。但是因为调用操作系统命令(cp或scp)实现的原因,它只能进行本地备份,除此之外也只能支持在线备份。该备份工具与备份对象所用的存储引擎强相关,并不适用于所有的场景,只用于备份MyISAM和ARCHIVE存储引擎的对象。

6.Zmanda Recovery Mananger

Zmanda Recovery Manager for MySQL(ZRM)为数据库管理员提供了一套方便、灵活、强大的MySQL数据库备份和复原的解决方案。

ZRM的底层存储和MySQL二进制日志之间的深度集成机制使得可以执行高效的CDP,几乎瞬时point-in-time恢复。

ZRM支持两种备份水平——全备份(level 0)和增量备份(level 1),可以通过管理控制台(ZMC)建立并管理所有备份和恢复操作,ZMC提供一个report工具,能够监控备份。MySQL通过使用NDB数据库引擎来支持高可用数据库应用的集群,ZRM通过使用MySQL-ndb-tools来执行集群的物理备份,除了本身的NDB backup之外,ZRM是唯一能备份MySQL集群的产品。

- THE END -

helei

6月19日19:19

最后修改:2021年6月19日
0

非特殊说明,本博所有文章均为博主原创。