MySQL 企业备份用户指南(版本 8.0.31)  / 第一部分 MySQL 企业备份入门  /  第 3 章 MySQL Enterprise Backup 8.0 有哪些新功能?

第 3 章 MySQL Enterprise Backup 8.0 有哪些新功能?

本章重点介绍 MySQL Enterprise Backup 8.0 中的新功能,以及随着本系列的发布对 MySQL Enterprise Backup 所做的任何重大更改。

  • 不再支持离线备份。将旧的 --no-connection--connect-if-online选项与 MySQL Enterprise Backup 一起使用将导致错误。 进行备份时,必须向 MySQL Enterprise Backup 提供正确的 连接选项。脱机备份期间使用的以下选项也已删除:

    • --innodb_data_file_path

    • --innodb_log_files_in_group

    • --innodb_log_file_size

    • --innodb_page_size

    • --innodb_checksum_algorithm

    • --keyring_file_data

    • --keyring_okv_conf_dir

    • --relay-log-info-file

    • --master-info-file

    • --backup_innodb_log_files_in_group

    • --backup_innodb_log_file_size

    • --backup_innodb_undo_tablespaces

    • --backup_innodb_undo_logs

    • --backup_innodb_page_size

    • --backup_innodb_checksum_algorithm

  • 备份服务器的二进制日志,而不是总是恢复到目标服务器上的数据目录,现在默认恢复到它在备份服务器上找到的相同位置。它还可以恢复到使用新 --log-bin选项指定的不同位置。

  • 备份副本服务器的中继日志,而不是总是恢复到目标副本服务器上的数据目录,现在默认恢复到它在备份副本服务器上找到的相同位置。它还可以恢复到使用新 --relay-log选项指定的不同位置。

  • 文件现在以 JSON 格式跟踪用于备份或恢复的外部表空间信息。有关详细信息,请 参见表 1.1 “备份中的文件类型”中tablespace_tracker 的描述。

  • 新选项--tls-version指定mysqlbackup允许加密连接到 MySQL 服务器的协议。

  • 现在支持 MySQL Enterprise Firewall Overview 。

  • MySQL Enterprise Backup 4.1 中已弃用 的选项--ssl和 现在已被删除。--ssl-verify-server-cert请改用该 --ssl-mode选项来配置与服务器的连接的安全模式。

  • HTTP 基本身份验证和非分块传输现在支持使用 OpenStack Swift 兼容的对象存储服务进行备份和恢复。有关详细信息,请参阅 第 20.15 节,“云存储选项”

  • 现在可以使用新cloud-buffer-size选项指定云传输的缓冲区大小。有关详细信息,请参阅第 20.15 节,“云存储选项”

  • 现在支持 服务器使用 keyring_encrypted_filekeyring_aws插件。此外,无论服务器上使用的密钥环插件类型如何,密钥环数据现在都存储在加密文件的备份中。有关详细信息,请参阅 第 6 章,使用加密的 InnoDB 表空间

  • mysqlbackup--secure-auth不再支持自 MySQL 5.7.5 后弃用 的服务器选项。

  • backup_history表现在包含一个 server_uuid列,该列存储server_uuid备份服务器的值。

  • 由于MySQL Enterprise Backup 8.0的新特性和新功能,mysqlbackup连接到MySQL Server的用户现在需要更多的权限。有关详细信息,请参阅第 4.1.2 节,“将 MySQL 权限授予备份管理员”

  • 对于 MySQL Enterprise Backup 8.0.12 及更高版本:

    • 使用组复制设置时,mysqlbackup现在通过确保 在每次mysqlbackup 操作backup_history后在主节点上更新表,使备份历史对服务器组的所有成员可用。有关详细信息,请参阅第 9 章,将 MySQL Enterprise Backup 与 Group Replication 结合使用,包括mysqlbackup连接到服务器的新用户权限要求,无论该服务器是否属于 Group Replication 设置。

    • mysql.backup_history备份服务器上表 的存储引擎 已从 CSV 切换到 InnoDB。请参阅 此处了解mysqlbackup现在需要的 与此更改相关的特殊用户权限。

  • 对于 MySQL Enterprise Backup 8.0.13 及更高版本:

  • 对于 MySQL Enterprise Backup 8.0.14 及更高版本:

  • 对于 MySQL Enterprise Backup 8.0.16 及更高版本:

  • 对于 MySQL Enterprise Backup 8.0.17 及更高版本:

  • 对于 MySQL Enterprise Backup 8.0.18 及更高版本:

  • 对于 MySQL Enterprise Backup 8.0.19 及更高版本:

    • 现在可以安全地在服务器上与备份操作并行进行DDL 操作( CREATE TABLERENAME TABLEDROP TABLEALTER TABLE和映射到ALTER TABLE的操作,如CREATE INDEX );有关某些限制,请参阅 此处描述的详细信息。由于这个新特性, mysqlbackup连接到 MySQL 服务器的用户现在必须被授予SELECT ON *.* 权限;看第 4.1.2 节,“将 MySQL 权限授予备份管理员”

    • 现在支持在完全备份和增量备份之间以及由 mysqlbackup执行的两个增量备份之间的服务器上二进制日志加密的主密钥轮换。在增量备份期间,mysqlbackup现在记录所有加密二进制日志文件的加密信息(包括那些已经在早期完整或增量备份中备份的文件),除非 --skip-binlog使用该选项,在这种情况下会发出警告,指出较旧的二进制日志文件可能变得不可挽回。

      此外,该--skip-binlog选项现在不仅可以为当前备份操作跳过二进制日志,还可以为基于当前备份的所有后续增量备份跳过二进制日志。

    • 备份还原的日志记录已得到改进:在设置日志文件大小的步骤中,现在包括日志文件的名称。

    • mysqlbackup现在在被信号终止后打印堆栈跟踪。

    • mysqlbackup无法连接到服务器时, mysqlbackup返回的警告现在包括 TCP 连接的主机名和端口号,以及套接字连接的套接字信息。这对于 Group Replication 设置特别有用, mysqlbackup可能会尝试连接到多个主机。

    • mysql.backup_progress备份服务器上表 的存储引擎 已从 CSV 切换到 InnoDB,现在在表backup_idcurrent_timestamp列上创建了一个复合索引。此外,在使用组复制设置时, mysqlbackup现在 backup_progress通过确保在每个 mysqlbackup操作期间在主节点上更新表,使表对服务器组的所有成员可用。

      当 MySQL Enterprise Backup 8.0.19 或更高版本尝试对数据库执行第一次完整备份时,它会自动检查 mysql.backup_progress表的格式。如果它检测到表是旧格式(这意味着服务器已从 8.0.18 或更早版本升级并且之前已通过 MySQL Enterprise Backup 备份过),它会尝试自动对表执行更新。mysqlbackup表升级需要服务器上用户的新权限;有关详细信息,请参阅 附录 F,备份进度表更新

    • mysqlbackup现在包括配置文件auto.cnfmysqld-auto.cnf来自服务器的备份(TTS 备份除外)。backup-auto.cnf它们分别作为和 恢复到目标服务器的数据目录 backup-mysqld-auto.cnf。要使用这些文件来配置已恢复的服务器,请在启动服务器之前将它们重命名为它们的原始名称。

    • 对于backup-to-imageextractlist-imagecopy-back-and-apply-log 命令,使用 指定的任何相对路径--backup-image现在都被视为相对于运行命令的当前目录。

  • 对于 MySQL Enterprise Backup 8.0.20 及更高版本:

    • tablespace_tracker文件已被简化:它现在只包含每个外部表空间的两个字段 :server_file_pathspace_idmysqlbackup 不再依赖该文件来获取有关 表空间类型的信息,这意味着用户在将目录备份移动到新位置时 backup_file_path不再需要更新 tablespace_tracker文件。

    • 表级恢复 (TLR) 现在允许从完整备份中选择性地恢复表或模式;有关详细信息,请参阅 第 5.1.4 节,“表级恢复 (TLR)”

    • 遗留选项--include现已弃用。每当使用该选项时, mysqlbackup现在都会发出弃用警告 。和选项应该用于部分备份和恢复 --include-tables--exclude-tables

  • 对于 MySQL Enterprise Backup 8.0.21 及更高版本:

    • 对于backup-to-image操作,当为 --backup-image选项指定相对路径时, mysqlbackup将给定的文件路径解释为相对于 备份目录

    • 加密的 InnoDB 表现在可以包含在使用可 传输表空间 (TTS)的部分备份和恢复中。

    • 加密的 InnoDB 表现在正在 validate操作中进行验证。

    • 压缩的 InnoDB 文件现在正在 validatebackupbackup-to-image操作中进行验证。

    • mysql.backup_sbt_history备份服务器上表 的存储引擎 已从 CSV 切换到 InnoDB。此外,表中还添加了一个自动递增的主键id列。使用组复制设置时,mysqlbackup现在backup_sbt_history通过确保在每个 mysqlbackup操作期间在主节点上更新表,使表对服务器组的所有成员可用。

      当 MySQL Enterprise Backup 8.0.21 或更高版本尝试使用 SBT API 对数据库执行第一次完整备份时,它会自动检查 mysql.backup_sbt_history表的格式。如果它检测到表是旧格式(这意味着服务器已经从 8.0.20 或更早版本升级并且在使用 SBT API 之前已经由 MySQL Enterprise Backup 备份),它会尝试对表执行更新自动地。mysqlbackup表升级需要服务器上用户的新权限 ;有关详细信息,请参阅 附录 E,SBT 备份历史表更新

    • 对压缩备份(copy-backcopy-back-and-apply-logapply-log等)进行操作的命令已得到简化:--uncompress 不再需要该选项,除了 使用该 选项 extractimage-to-backup-dir操作。--src-entry

    • 对增量备份 ( copy-back, copy-back-and-apply-log, apply-log) 进行操作的命令已得到简化:--incremental这些操作不再需要该选项。

    • 当备份正在进行时清除二进制或中继日志文件时,备份现在会失败;当发现服务器上缺少二进制日志文件时,它也会失败 mysqlbackup(但是,如果中继日志文件丢失,备份将继续)。

    • MySQL 服务器上表的tool_namebackup_progress现在填充了 调用备份操作 的完整mysqlbackup命令。

    • 该文件backup_gtid_executed.sql未包含在使用 GTID 的副本服务器的 TTS 备份中。只要--slave-info使用该选项,该文件现在就会包含在 TTS 备份中。

  • 对于 MySQL Enterprise Backup 8.0.22 及更高版本:

  • 对于 MySQL Enterprise Backup 8.0.23 及更高版本:

    • MySQL Enterprise Backup 扩展了其支持的云存储服务类型;有关详细信息,请参阅第 20.15 节,“云存储选项”

    • 使用 OCI 对象存储登录云操作现在提供更多信息。

    • 引入了一个新选项, --cloud-chunk-size用于在为云操作启用分块传输时指定分块的大小。有关详细信息,请参阅说明 --cloud-chunk-size

    • 对于与 Amazon S3 兼容的存储服务的云备份操作,在操作开始时添加了对存储服务上是否存在存储桶的检查。如果指定的桶不存在, mysqlbackup抛出错误并退出操作。

  • 对于 MySQL Enterprise Backup 8.0.24 及更高版本:

  • 对于 MySQL Enterprise Backup 8.0.26 及更高版本:

    • --free-os-buffers选项现在可以接受一个参数,它告诉 mysqlbackup如何利用 posix_fadvise()(在支持的平台上)来减少mysqlbackup对系统性能的影响。详见选项说明 --free-os-buffers

    • mysqlbackup现在支持 MySQL 服务器上的密钥环组件component_keyring_file:使用 和加密的 InnoDB 表现在可以由mysqlbackupcomponent_keyring_encrypted_file备份和恢复 。有关详细信息,请参阅 第 6 章,使用加密的 InnoDB 表空间

  • 对于 MySQL Enterprise Backup 8.0.27 及更高版本:

    • --verbose选项现在是 的同义词--trace=1

    • --debug选项现在接受更多参数以提供各种调试信息。有关详细信息,请参阅选项说明 --debug

    • 现在可以通过与备份并行进行的 DDL 操作来创建具有页面跟踪的增量备份。一些限制适用;在此处查看更多详细信息 。

  • 对于 MySQL Enterprise Backup 8.0.28 及更高版本:

    • TLSv1 和 TLSv1.1 连接协议在 MySQL 8.0.26 中已弃用,现在已在 MySQL 8.0.28 中删除。删除的协议被视为无效, 无法与用于将mysqlbackup连接到服务器的--tls-version选项一起使用。相反,可以使用更安全的 TLSv1.2 和 TLSv1.3 协议建立连接。

    • 由mysqlbackup组件 创建的服务器上的旧页面跟踪文件 现在可以通过新的可加载函数清除 mysqlbackup_page_track_purge_up_to()。有关详细信息,请参阅 使用页面跟踪的增量备份。感谢 Rahul Malik 对此功能的贡献。

    • --force选项已被弃用:它现在被 mysqlbackup忽略,并且每当它与mysqlbackup 命令 一起使用时都会出现警告。

  • 对于 MySQL Enterprise Backup 8.0.29 及更高版本:

    • 和选项log-bin现在 relay_log 可以 在还原操作期间在[mysqld]随选项提供的服务器配置文件部分中 指定。--defaults-file但是,以这种方式指定的值的优先级低于为该[mysqlbackup]部分中的选项指定的值,并且命令行中给出的值会覆盖配置文件中给出的任何值。有关配置文件使用的更多信息,请参阅 第 21 章,配置文件和参数

  • 对于 MySQL Enterprise Backup 8.0.30 及更高版本: