MySQL Enterprise Backup 8.0.19是MySQL Enterprise Backup的最新版本。它只支持MySQL Server 8.0.19。对于早期版本的MySQL 8.0,请使用与服务器相同的版本号的MySQL Enterprise Backup版本。对于MySQL Server 5.7,请使用MySQL Enterprise Backup 4.1,以及MySQL Server 5.6和5.5,请使用MySQL Enterprise Backup 3.12。
重要的变化:为了
备份到图像
,提取
,列表映像
, 和复制后退和应用日志
命令,任何相对路径指定- 留下镜像
现在被认为是相对于运行命令的当前目录。(错误# 29943103)重要的变化:存储引擎
mysql.backup_progress.
备份服务器上的表已从CSV切换到InnoDB。此外,自动增量主键ID
列加上表格上的综合索引backup_id
和current_timestamp.
已添加列。使用组复制设置时,mysqlbackup.现在让我们成为backup_progress.
表对服务器组的所有成员可用,方法是确保在每次更新期间在主节点上更新表mysqlbackup.手术。当MySQL Enterprise Backup 8.0.19或更高版本尝试在数据库上执行其第一个完整备份时,它会自动检查格式
mysql.backup_progress.
桌子。如果检测到表中的旧格式(这意味着服务器已从8.0.18或更早版本升级,并且之前已被MySQL Enterprise Backup备份),它会尝试自动执行表上的更新。授予表升级所需的这些权限mysqlbackup.
服务器用户:GRANT ALTER ON mysql。backup_progress.TO 'mysqlbackup'@'localhost'; GRANT CREATE, INSERT, DROP ON mysql.backup_progress_old TO 'mysqlbackup'@'localhost'; GRANT CREATE, INSERT, DROP, ALTER ON mysql.backup_progress_new TO 'mysqlbackup'@'localhost';
看到备份进度表更新获取详细信息。(Bug #29882544, Bug #28695518)
重要的变化:由于增加了对备份的保护,以防止并行DDL操作导致的不一致性(请参阅下面关于新特性的讨论),因此使用哪个用户mysqlbackup.连接到MySQL服务器现在必须授予
选择*。*
特权;看授予MySQL权限到备份管理员。已改进备份还原的日志记录:在设置日志文件的大小的步骤中,现在包含日志文件的名称。(bug#30380310)
mysqlbackup.现在在被信号终止后打印堆栈跟踪。(bug#30042338)
什么时候mysqlbackup.无法连接到服务器,返回的警告mysqlbackup.现在包括TCP连接的主机名和端口号,以及套接字连接的套接字信息。这对于Group Replication设置特别有帮助mysqlbackup.可能尝试连接到多个主机。(错误# 30040027)
如果在非增量备份期间无法打开二进制日志文件,则备份仍将完成,但备份
backup_history
表将指示备份失败。使用此修复程序,如果无法打开任何相关的二进制日志文件,则所有类型的备份都会失败,并且抛出适当的错误。(bug#29882381)mysqlbackup.现在包括配置文件
auto.cnf.
和mysqld-auto.cnf.
从其备份中的服务器(TTS备份除外)。它们恢复到目标服务器的数据目录backup-auto.cnf.
和backup-mysqld-auto.cnf
分别。要使用这些文件来配置还原的服务器,请在启动服务器之前将它们重命名为原始名称。(bug#27121423,bug#30033486)二进制日志加密的主键旋转在服务器之间,在完整和增量备份之间,以及由此执行的两个增量备份之间mysqlbackup.,现在支持。在增量备份期间,mysqlbackup.现在记录所有加密的二进制日志文件的加密信息(包括那些在早期的完全备份或增量备份中已经备份的文件),除非
--skip-binlog.
选项,在这种情况下会给出一个警告,提示旧的二进制日志文件可能变得不可恢复。此外,
--skip-binlog.
选项现在不仅会为当前备份操作跳过二进制日志,还可以跳过基于当前备份的所有后续增量备份。当恢复增量备份时--skip-binlog.
选项,或者增量备份不包含二进制日志时,mysqlbackup.将已经使用基本备份恢复的任何二进制日志和索引文件重命名为。老的
扩展,然后发出警告。在过去,如果在进行备份时发生了DDL操作,则备份可能会变得不一致。现在有DDL操作安全(创建表,重命名表,删除表,ALTER TABLE以及映射到的操作ALTER TABLE喜欢创建索引)与备份操作并行发生在服务器上,只要:
涉及的表中存在于自己的表空间中,而不是在系统表空间或某些常规表空间中存在。
这些服务器特性还没有应用到所涉及的表中:
备份不与下列文件一起进行
mysqlbackup.
特征:
使用图像备份时使用
备份 - 目录到图像
来自压缩目录备份的命令包含InnoDB表中的InnoDB表压缩行格式,映像备份无法验证,除非首先将其解压缩到某个目录中。(错误# 31346149)mysqlbackup.报道称,一个
提取
即使操作成功——src-entry
指定备份中不存在的文件。控件的验证——src-entry
价值和使mysqlbackup.如果验证失败,抛出一个错误。(错误# 30461566)在一次提取操作时,提取的文件内容没有进入
stdout
正如预期的那样--dst-entry = -
,但进入名为的文件”-”代替。(错误# 30451238)有时,在接收到一些错误的信号后,mysqlbackup.退出无需打印任何错误消息。(bug#30423128)
mysqlbackup.有时在备份时挂起重做日志进行归档已经启用。这是由于方式的问题mysqlbackup.在读取重做日志文件和重做日志存档之间切换,这已经通过此修复程序纠正。(bug#30387689)
如果在备份过程的中间删除了服务器上的表空间,然后在进程结束前恢复,以便备份包括该表并成功,mysqlbackup.仍在报道中
mysql.backup_history.
备份失败的表。(bug#30340161)在重新启动时,恢复的服务器有时会发出警告
{Space:###,Page_No:###}无法恢复{空间:###
。发生这种情况是因为从备份的服务器恢复的DoubleWrite缓冲区,包含不再相关的页面。使用此修复程序,备份过程中备份中的双手缓冲区已清除,因此不再恢复。(bug#30286862)使用OpenSSL 1.1.1进行连接时mysqlbackup.到服务器和——tls版本选项未指定,使用TLSv1.3但输出mysqlbackup.表示它使用了TLSv1.2。(bug#30268505)
使用该服务器的备份keyring_file或者keyring_encrypted_file插件失败与错误
文件master_keyring_kef打开失败
如果密匙环文件位于服务器的数据目录中。这是因为在这种情况下,插件返回了一个keyring文件的路径,该路径相对于数据目录mysqlbackup.无法找到文件。使用此修复程序,插件将文件的完整路径返回给mysqlbackup.。(错误# 30238406)mysqlbackup.戒烟意外
验证
命令发出时没有指定任何命令选项。修复,mysqlbackup.在适当的情况下优雅地退出。(错误# 30204114)的默认值
——page-reread-time
选项为0毫秒,而不是在手册中记录的100毫秒。(bug#30036877)当一个
复制后退和应用日志
操作被应用在一个准备好的备份上,警告应用日志操作已经在该备份上完成
在输出中出现了两次mysqlbackup.。(bug#29941423)备份有时会失败mysqlbackup.报告系统变量时,撤消日志文件看起来损坏
Innodb_undo_log_encrypt.
已经设定为上
在服务器上。这是因为在复制文件时,加密信息还没有传播到撤销日志文件侦听器。有了这个解决方案,在这种情况下,mysqlbackup.等待直到复制之前更新撤消日志文件的标题。(bug#29545236)恢复增量备份时,mysqlbackup.删除的服务器上未包含在增量备份中的服务器上。(bug#29399666)
如果服务器在不同文件路径上有两个外部撤消表空间,但使用相同的文件名,则备份失败。这是因为mysqlbackup.在备份期间将所有undo表空间复制到同一个目录中,导致文件名冲突。有了这个修复,在复制undo表空间时,表空间相对于
Innodb_undo_directory.
保留,因此将不会再有文件名冲突。(错误# 29340016)备份失败了在阶段时mysqlbackup.应用了
FLUSH TABLES tbl_name [, tbl_name]…与读锁
如果任何表名包含保留单词或特殊字符,则对所有非InnoDB表的声明。这是因为mysqlbackup.在发出语句时没有在反馈中包含表名称,此修复程序确保完成。(bug#19709505,bug#74144)