文章目录
- MySQL 8.0 OCP (1Z0-908) 考点精析-备份与恢复考点1:MySQL Enterprise Backup概要
- MySQL Enterprise Backup下载与安装
- MySQL Enterprise Backup的备份过程
- MySQL Enterprise Backup的优势
- mysqlbackup 客户端
- 例题
- 例题1 : MySQL Enterprise Backup概要
【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。
编辑|SQL和数据库技术(ID:SQLplusDB)
MySQL 8.0 OCP (1Z0-908) 考点精析-备份与恢复考点1:MySQL Enterprise Backup概要
MySQL Enterprise Backup是用于MySQL数据库的热 (online) 备份工具。
热备份是在数据库运行和应用程序读写时执行的。这种备份不会阻塞正常的数据库操作,并且它可以捕获备份过程中发生的任何更改。
通过MySQL Enterprise Backup可以对使用InnoDB存储引擎的所有表执行“热备份”。
对于使用MyISAM或其他非InnoDB存储引擎的表,它执行“温备份”,即数据库继续运行,但在备份期间这些表不能被修改。
MySQL Enterprise Backup提供了丰富的功能,例如:
- “热”(在线)备份
- 增量和差异备份
- 选择性备份和恢复
- 支持直接云存储备份
- 备份加密
- 压缩等功能。
MySQL Enterprise Backup下载与安装
可以通过Oracle Software Delivery Cloud网站下载MySQL Enterprise Backup
[Oracle Software Delivery Cloud](https://edelivery.oracle.com/osdc/faces/Home.jspx)
https://edelivery.oracle.com/osdc/faces/Home.jspx
MySQL Enterprise Backup的备份过程
MySQL Enterprise Backup的备份过程大致分为以下几个步骤:
-
将InnoDB数据文件、重做日志、二进制日志和中继日志文件(除了当前正在使用的日志文件)复制到备份中,同时数据库服务器继续正常运行。
在此期间,InnoDB表的数据和结构可能已经发生了变化,因此需要执行一些步骤来确保备份中包含这些变化。 -
在服务器实例上应用备份锁,它会阻止DDL操作(除了对用户创建的临时表的操作),但不会阻止对InnoDB表的DML操作(除了那些未被二进制日志捕获的操作,如对数据库的管理更改)。大多数数据库的读写活动仍然允许。在应用锁之后,mysqlbackup会扫描自步骤1以来已被DDL操作修改的InnoDB表,并相应地更改备份。
-
对所有非InnoDB表(对于8.0.18及更高版本,仅对要包含在备份中的非InnoDB表)应用FLUSH TABLES tbl_name [, tbl_name] … WITH READ LOCK语句,然后复制与备份相关的任何非InnoDB表。
如果数据库中不存在用户创建的非InnoDB表,则跳过此步骤。 -
应用短暂的日志记录阻塞,以便mysqlbackup收集与日志记录相关的信息,如当前的InnoDB LSN、二进制日志位置、GTID、复制源或副本状态等。
-
释放非InnoDB表上的读锁。
-
使用步骤4中的信息,复制当前正在使用的二进制或中继日志文件的相关部分。这确保了自步骤1以来对InnoDB表的所有最近更改都包含在备份中,以便稍后将它们应用于原始备份数据,将恢复的服务器带回一致状态。
-
释放服务器实例上的备份锁。现在,数据库返回到正常操作状态。
-
复制尚未复制的重做日志文件以及备份的所有元数据文件。
-
备份操作完成,mysqlbackup返回成功。
需要注意的是,这只是一个大致的备份过程概述,实际过程可能会因使用的备份选项而有所不同。
参考:
https://dev.mysql.com/doc/mysql-enterprise-backup/8.0/en/meb-backup-process.html
MySQL Enterprise Backup的优势
MySQL Enterprise Backup具有以下十大优势:
1. 物理备份和恢复
2. 高性能,即使使用加密和压缩(压缩更快)
3. 可以存储在离线位置 - 支持文件、磁带、媒体管理器等
4. 支持全量、增量、部分备份、可传输表空间等
5. 支持一致的时间点恢复
6. 最小锁定 - 特别是在MySQL 8.0中使用新的MySQL备份锁定机制
7. 数据块在备份时进行验证,备份数据可以在以后重新验证。
8. 非常适合大型到非常大型的数据库
9. 成本效益高(占用空间小,支持成本较低的存储设备)
10. 安全 - 支持加密,备份tde和其他组件的密钥环。
参考:
https://www.modb.pro/doc/935
mysqlbackup 客户端
mysqlbackup客户端是MySQL Enterprise Backup的核心组件,丰富的命令和选项,可以根据需要进行配置和自定义。,
通过mysqlbackup客户端可以用于执行各种备份和恢复操作,以及其他相关任务。
例如,可以使用mysqlbackup客户端执行以下操作:
- 备份整个MySQL实例或单个数据库。
- 执行增量备份或差异备份。
- 压缩备份文件以减少磁盘空间占用。
- 验证备份文件的完整性和一致性。
- 恢复整个MySQL实例或单个数据库。
- 恢复到指定的时间点或二进制日志位置。
- 在备份和恢复过程中使用加密。
- 等等。
可以通过在命令行中输入mysqlbackup命令来启动mysqlbackup客户端,并使用不同的选项和参数来执行不同的操作。
例如,要备份整个MySQL实例并将备份文件压缩到指定的目录中,可以使用以下命令:
mysqlbackup --backup-dir=/path/to/backup --compress backup-and-apply-log
该命令将执行备份和应用日志操作,并将备份文件压缩到指定的目录中。
例题
例题1 : MySQL Enterprise Backup概要
Choose two.
Which two statements are true about MySQL Enterprise Backup?
A) It creates logical backups.
B) It supports backing up only table structures.
C) It can perform hot or warm backups.
D) It supports backup of a remote MySQL system.
E) It supports restoring to a remote MySQL system.
F) It supports the creation of incremental backups.
Answer:C F
MySQL Enterprise Backup是物理备份。支持热备(InnoDB)和温备(InnoDB以外) ,支持增量备份。
参考:
https://dev.mysql.com/doc/refman/8.0/en/mysql-enterprise-backup.html
参考:
30.2 MySQL Enterprise Backup Overview
https://dev.mysql.com/doc/refman/8.0/en/mysql-enterprise-backup.html
MySQL Enterprise Backup User’s Guide (Version 8.0.34)
https://dev.mysql.com/doc/mysql-enterprise-backup/8.0/en/