Documentation Home
MySQL Enterprise Backup 8.0 发行说明  /  MySQL Enterprise Backup 8.0.21 的变化(2020-07-13,全面上市)

MySQL Enterprise Backup 8.0.21 的变化(2020-07-13,全面上市)

MySQL Enterprise Backup 8.0.21 是 MySQL Enterprise Backup 的最新版本。它仅支持 MySQL Server 8.0.21。对于MySQL 8.0之前的版本,使用与服务器版本号相同的MySQL Enterprise Backup版本。MySQL server 5.7请使用MySQL Enterprise Backup 4.1,MySQL Server 5.6请使用MySQL Enterprise Backup 3.12。

在 MySQL 8.0.21 的文档中,我们已经开始将术语master更改为source,将术语slave更改为replica,将术语 whitelist更改为allowlist,将术语blacklist更改为黑名单. 目前产品的语法没有变化,因此这些术语仍然存在于当前代码需要使用它们的文档中。有关详细信息,请参阅博客文章 MySQL 术语更新

包装说明

  • 对于 Windows,MySQL Enterprise Backup 的 MSI 安装程序包现在包括对所需 Visual Studio 可再发行组件包的检查,并在缺少时生成一条消息,要求用户安装它。(缺陷号 30541398)

添加或更改的功能

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

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

    GRANT ALTER ON mysql.backup_sbt_history TO 'mysqlbackup'@'localhost';
    GRANT CREATE, INSERT, DROP ON mysql.backup_sbt_history_old TO 'mysqlbackup'@'localhost';
    GRANT CREATE, INSERT, DROP, ALTER ON mysql.backup_sbt_history_new TO 'mysqlbackup'@'localhost';

    有关详细信息,请参阅SBT 备份历史表更新。(缺陷号 30537077)

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

    参考资料:另请参阅:Bug #30935456。

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

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

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

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

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

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

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

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

修正错误

  • 当由于使用该 --compress-method选项而导致压缩备份的还原失败时, mysqlbackup不会打印有意义的错误消息。通过此修复,错误消息指示该选项与操作不兼容。(缺陷号 31861826)

  • 创建映像备份时,如果备份目录(用 指定--backup-dir)已满,备份操作仍然完成,只是一个警告。然后尝试恢复备份导致 mysqlbackup意外退出。通过此修复,当备份目录已满时,备份会失败并出现错误。(缺陷号 31370902)

  • 对于从早期服务器版本升级的 MySQL Server 8.0.20,备份可能会失败, mysqlbackup 会抱怨第一个系统表空间文件(ibdata1通常)已损坏。这是由于 MySQL Server 8.0.20 处理系统表空间的方式,mysqlbackup没有适应,有时会导致升级服务器出错。此补丁调整了 mysqlbackup以与服务器正常工作。(缺陷号 31263411)

  • 当该--src-entry选项与list-image命令一起使用时, MySqlBackup并未一次拒绝该选项,而是完成了命令,然后丢弃了 Invalid Argument错误。通过修复, mysqlbackupIncompatible Option立即在这种情况下抛出错误。(缺陷号 31255087)

  • --with-timestamp使用该选项 时,增量备份的还原操作失败 。(缺陷号 31184454)

  • MySqlBackupextract失败 的操作抱怨设置了 该选项时没有表匹配 。通过此修复, mysqlbackup不再在这种情况下抛出错误,而是打印消息The src-entry 'backup_variables.txt' is by default extracted to the output directory。(缺陷号 31180805)--src-entrymeta/backup_variables.txt

  • 在非 Windows 平台上,当该 --force选项与 非 TTS 备份 的表级还原(选定表的部分还原)一起使用时,服务器上的重做日志文件被mysqlbackup删除。(缺陷号 31173210)

  • 在包含加密 InnoDB 表的 MySQL 服务器从 5.7 系列升级到 8.0 之后,对其进行的备份操作因密钥环错误而失败。这是由于在这种情况下mysqlbackup处理密钥环的方式,已通过此补丁修复。(缺陷号 31137866)

  • 当该--backup-image选项用于backup目录备份操作时,mysqlbackup忽略该选项并继续执行目录备份。通过此修复,mysqlbackup在这种情况下会抛出不兼容的选项错误。(缺陷号 31137103)

  • Internal Error当使用该选项创建的压缩备份 --use-tts=with-full-locking正在恢复时, mysqlbackup返回一个(缺陷号 31061894)

  • 备份副本服务器时,如果缺少一些中继日志文件,备份仍然按预期完成,但 mysqlbackup打印出错误消息。通过此修复,mysqlbackup在这种情况下会返回成功。(缺陷号 31059294)

  • 当该--backup-image选项与backup-and-apply-log 命令一起使用时,MySqlBackup照常完成了命令,即使该选项和命令不兼容。通过此修复,在这种情况下, mysqlbackup会发出警告,指出该 --backup-image选项已被忽略。(漏洞 #31001191)

  • 当使用 选项创建单文件备份并 --with-timestamp为 指定相对路径时 --backup-image,图像备份创建在当前工作目录下(自 8.0.19 版以来这是预期的行为),但不在包含以下内容的子目录中:名称中的时间戳。

    使用此修复程序,情况下的备份位置已更改:对于backup-to-image 操作,给出的相对路径 --backup-image现在被视为相对于备份目录,如果 --with-timestamp使用该选项,则在备份目录下创建备份在名称中包含时间戳的子目录中。(缺陷号 30935456)

  • 当通过媒体管理软件 (MMS) 备份到磁带时,mysqlbackup0000-00-00 00:00:00始终为 备份服务器上的表中的操作条目设置默认值file_creation_time和 值。如果备份由于某些原因失败,这些零值将被写入表中。如果稍后 以NO_ZERO_DATENO_ZERO_IN_DATE SQL 模式查询该表 ,则服务器返回。有了这个修复,在备份失败的情况下,mysqlbackupfile_expiry_timebackup_sbt_historybackup_sbt_historyERROR 1194 (HY000): Table 'backup_sbt_history' is marked as crashed and should be repaired将备份期间的当前时间写入这些值,因此时间值永远不会为零。(缺陷号 30275637)

  • 当该--skip-binlog选项用于 TTS 备份的还原操作时,操作失败。通过此修复,该选项在这种情况下被忽略。(漏洞#29813666)

  • 当该--compress-method选项设置为none时,如预期的那样,备份在没有压缩的情况下完成,但 mysqlbackup.ibz打印了错误的压缩信息,并以扩展名保存了 InnoDB 表空间文件 。通过此修复,mysqlbackup所描述的行为不再发生在这种情况下。(漏洞#29806518)

  • --compress-level选项占用了一个值,而不是在没有选项的情况下使用该选项时 0的默认值 。通过此修复,选项的默认值始终有效(对于适用的压缩方法)。(漏洞#29806518)1--compress-method--compress

  • backup-dir-to-image如果备份服务器使用密钥环插件而不是keyring_encrypted_file用于 InnoDB 表加密,则使用目录备份命令 创建的备份映像的还原操作失败 。这是因为 backup-dir-to-image操作错误处理keyring_kef了备份中的文件,此补丁修复了该问题。(漏洞#27874581)