专栏首页MySQL解决方案工程师MySQL企业版备份工具MEB

MySQL企业版备份工具MEB

”工欲善其事,必先利其器“。数据备份是DBA的日常工作,也是保证数据安全的重要工作,要尽善尽美的完成这项工作,必须要使用一款高效可靠的备份工具。MySQL在其企业版里提供了一款备份工具——MySQL Enterprise Backup,简称MEB。

MEB是一款跨平台的高效备份工具,它支持在线”热“备份,增量备份、差异备份、部分备份、压缩备份等一系列主流的备份功能。MySQL Enterprise Backup在优化了InnoDB表备份的同时,还能够备份和恢复MySQL支持的各种存储引擎创建的表。读写过程可以由多个线程独立并行进行,并且,不同的线程可以对单个文件的不同块进行读取、写入处理,使得备份和恢复过程快速执行,相对于逻辑备份工具mysqldump有着显著的性能提升。

在介绍MEB详细内容之前,让我们看一下常见的几种数据库备份方法。

完整备份:完全备份会备份数据完整的副本。如果您不需要恢复到特定的时间点,那么只使用完整备份的策略即可满足需要。例如,如果数据不经常更改或不重要,并且可以容忍损失几天的数据,那么用户可以每天甚至每周运行完整的备份。

完整备份+增量备份:用增量备份补充完整备份,使用户能够更频繁地运行备份,并将恢复时间减少到几个小时内。增量备份不需要太多的磁盘空间,因此可以减少存储需求和成本。

完整备份+增量备份+日志:如果需要在几分钟内恢复,或者恢复到特定时间点,那么将完整备份和增量备份与事务日志备份结合起来是非常合适的。可以使用事务日志的备份应用完整备份、增量备份和前滚。

除了上述方法,备份还需要考虑备份时长、恢复时长、恢复级别、存储要求及存储的限制等因素。综合考虑后,制定适合自己的备份策略。

MEB提供了一个命令行的客户端mysqlbackup,MEB的全部功能都通过它来执行。MEB的功能非常强大,通过它可以进行如下工作:

  • 备份数据库:一个完整的备份周期包括,备份、验证和恢复。MEB支持如下类型的备份:
    • 备份到单一文件,支持将其存放到其它服务器、磁带、云存储
    • 完整备份
    • 差异备份或增量备份
    • 压缩备份
    • 部分备份
    • 乐观备份
    • 备份In-memory数据
    • 定期备份

备份时使用validate命令可以对备份结果的完整性进行验证。此外,还可以通过在另一台服务器上恢复备份数据并在新数据目录上运行mysqld来验证备份是否成功。然后可以执行SHOW语句来验证数据库和表结构,并执行查询来验证数据库的进一步细节。注意:不要将备份目录当做mysql的数据目录直接启动,会引起数据损坏!

  • 恢复数据库:MEB可以同如下方法恢复数据库:
    • 恢复压缩备份
    • 恢复加密备份
    • 恢复增量备份
    • 恢复表
    • 恢复使用-tts进行的备份
    • 恢复云存储的备份
    • 恢复表空间到不同的位置
    • 准备/恢复备份目录
  • 备份加密的InnoDB表空间:MEB支持对表空间文件加密(TDE)的数据库进行备份和恢复。
  • 使用Redo日志归档备份:MEB可以利用Redo日志归档进行备份,以防止Redo日志被覆盖引发的问题。
  • 主从复制使用MEB:通过MEB备份主服务器,并在一个新的从服务器上恢复备份来搭建主从复制,而不需要停止主服务器。
  • 群组复制使用MEB:与备份单机相同,MEB也可以用于组成员的快速备份和恢复。
  • 备份加密:MEB支持使用AES区块加密(CBC模式)对备份进行加密,以增强安全性。
  • 媒体管理软件使用MEB:MEB支持使用媒体管理软件将备份保存至大容量的存储,例如可以使用支持System Backup to Tape (SBT) API的软件将数据备份到磁带。
  • 容器使用MEB:使用企业版MySQL容器,可以对在同一个主机上的其他容器中的mysql进行备份。

介绍了MEB的功能,接下来我们看一下MEB是怎么样进行工作的。

  1. 备份InnoDB表。 备份首先通过ibbackup将InnoDB的数据文件进行压缩和复制。文件通过压缩可以达到70%~90%,并且会标记最早和最新的LSN。
  1. 备份InnoDB日志。 在复制数据文件期间积累的InnoDB日志文件,使用LSN进行复制。

只复制日志文件中包含重做信息的部分,并覆盖从备份开始到备份结束的时间。通过这个操作实现一致性。

  1. 备份MyISAM表。 mysqlbackup相当于封装了ibbackup。更容易使用的接口去备份MyISAM数据和InnoDB数据,因此,它可以进行一致性的恢复。在备份期间完全可以访问InnoDB表,但是MyISAM表会有一个表锁,无法进行更新。
  1. 恢复数据库 恢复数据库首先将InnoDB文件解压缩到data目录。MySQL Enterprise Backup重新创建InnoDB日志文件,并应用这些日志,以使InnoDB文件恢复到一致的状态,然后恢复MyISAM数据。

看到这里,相信有很多人关心XtraBackup和MEB的对比,在最后,介绍一下MEB相对于PXB的优势在哪里。

  • MEB可以显示备份的过程
  • MEB可以通过Oracle secure backup将数据备份到磁带
  • MEB支持离线备份
  • MEB支持备份日志文件用于时间点恢复
  • MEB可以在恢复时更改表名称

以上内容是关于MEB的简单介绍,关于它的详细使用方法请访问 "https://dev.mysql.com/doc/mysql-enterprise-backup/3.12/en/meb-getting-started.html"。

已经订阅MySQL企业版的用户可以直接下载使用,新用户可以下载30天的试用版”https://edelivery.oracle.com/“。

本文分享自微信公众号 - MySQL解决方案工程师(mysqlse),作者:徐轶韬

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL8.0.19-通过Limit调试递归CTE

    在MySQL 8.0.1中,我们引入了对递归通用表表达式(CTE)的支持。今天,我想提出一个解决方案,当使用递归CTE编写查询时,几乎每个人都会遇到:发生无限递...

    MySQLSE
  • InnoDB:表空间管理

    在InnoDB中,用户定义的表及其对应的索引数据存储在扩展名为.ibd的文件中。表空间有两种类型,常规(或共享)表空间和独立表空间文件。对于共享表空间而言,来自...

    MySQLSE
  • MySQL审计数据归档演示

    在此博客中,我将演示如何在许多mysql实例之间将审计日志进行合并归档。在后续文章中,我将展示如何通过在该归档文件上创建一个简单的哈希链来扩展此示例–这样您就可...

    MySQLSE
  • 利用宝塔面板计划任务定期备份自己的网站和数据库

    网站安全,数据安全永远是永恒的话题,再怎么强调都不为过,但是很多初次接触到网站建站服务器运维的人来说,完全不重视数据的安全,一般都是要有一次刻骨铭心的教训之后,...

    wordpress建站吧
  • MySQL/MariaDB数据库备份与恢复

    前言 数据库一般存放着企业最为重要的数据,它关系到企业业务能否正常运转,数据库服务器总会遇到一 些不可抗拒因素,导致数据丢失或损坏,而数据库备份可以帮助我们...

    小小科
  • Rman备份恢复和管理

    物理备份用于实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库,具体包括冷备份和热备份。冷...

    职场亮哥
  • 世界备份日:你是否会备份自己的文件?

    备份是使用智能设备时一个需要重视的环节,很多人无论在使用PC设备还是移动终端时,都会忽略对重要资料的备份工作,一旦出现问题往往追悔莫及。虽然时下 流行的视频网站...

    安恒信息
  • 腾讯云上数十万实例的备份方法大揭秘。

    腾讯云数据库国产数据库专题线上技术沙龙正在火热进行中,5月23日杨杰的分享已经结束,没来得及参与的小伙伴不用担心,以下就是直播的视频和文字回顾。 关注“腾讯云...

    腾讯云数据库 TencentDB
  • 学会用各种姿势备份MySQL数据库

    前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事...

    小小科
  • 灾难发生时云备份至关重要

    2017年9月和10月对许多人来说可能记忆深刻。哈维飓风在9月袭击了美国德克萨斯州,几个星期后,伊尔玛飓风对佛罗里达州造成了严重破坏,随后在墨西哥和危地马拉发生...

    静一

扫码关注云+社区

领取腾讯云代金券