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_name
列backup_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-back
、copy-back-and-apply-log
、apply-log
等)进行操作的命令已得到简化:--uncompress
不再需要该选项,除了 不使用该 选项extract
的image-to-backup-dir
操作 。--src-entry
压缩的 InnoDB 文件现在正在
validate
、backup
和backup-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)MySqlBackup
extract
失败 的操作抱怨设置了 该选项时没有表匹配 。通过此修复, mysqlbackup不再在这种情况下抛出错误,而是打印消息“ The src-entry 'backup_variables.txt' is by default extracted to the output directory ”。(缺陷号 31180805)--src-entry
meta/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) 备份到磁带时,mysqlbackup
0000-00-00 00:00:00
始终为 备份服务器上的表中的操作条目设置默认值file_creation_time
和 值。如果备份由于某些原因失败,这些零值将被写入表中。如果稍后 以NO_ZERO_DATE或 NO_ZERO_IN_DATE SQL 模式查询该表 ,则服务器返回。有了这个修复,在备份失败的情况下,mysqlbackupfile_expiry_time
backup_sbt_history
backup_sbt_history
ERROR 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)