지금 지원 담당자와 채팅
지원 담당자와 채팅

NetVault Plug-in for MySQL 12.2 - 用户指南

NetVault Backup Plug-in for MySQL 简介 安装或删除插件 配置插件 备份数据 恢复数据 使用本机 MySQL 复制 在故障转移群集环境中使用插件 故障排除

完整备份和差异备份还原方案

DBA 已经建立了一个备份策略,在该策略中,完整备份在每个周日晚上 11:00 执行,差异备份周一至周六晚上 11:00 执行。由于 DBA 执行差异备份,因此每次这种形式的备份之后都会保留二进制日志,这将产生时间更长的备份,但整体还原时间会更快。

周四上午 9:00,DBA 发现用户遇到 Orders“未找到表”错误。DBA 随后发现该表已不再存在,因为开发人员在 DBA 上班前的周四早些时候无意中删除了该表。

DBA 决定执行直到上次差异备份时间点的完整恢复 — 在周三晚上执行备份。

1
选择周日晚上执行的完整备份:在创建还原任务 — 选择保存集页上,DBA 选择与周日完整备份相对应的备份保存集。
1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 选择与周三差异备份相对应的备份保存集。
2
将所有与还原相关的选项保留为默认值使用选项选项卡上的任何选项。
重要信息: DBA 不必还原周一周二晚上的差异备份。通过选择执行差异备份,每晚的备份都是累积的,会回到周日晚上的完整备份;也就是说,周三晚上的备份包括周一、周二周三生成的所有二进制日志 — 最后回到周日的完整备份。

在以下示例中,完整备份和差异备份方案已准备就绪,DBA 希望将数据恢复到特定时间。

周四上午 9:00,DBA 发现用户遇到 Orders“未找到表”错误。DBA 随后发现该表已不再存在,因为开发人员周三晚上 8:00无意中删除了该表。

DBA 必须执行恢复,以便将数据库还原到开发人员周三晚上 8:00 删除表之前的时间。因此,将执行以下阶段:

1
选择周日晚上执行的完整备份:在创建还原任务 — 选择保存集页上,DBA 选择与周日完整备份相对应的备份保存集。
1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 选择与周三差异备份相对应的备份保存集。
重要信息: DBA 不必还原周一周二晚上的差异备份。通过选择执行差异备份,每晚的备份都是累积的,会回到周日晚上的完整备份;也就是说,周三晚上的备份包括周一、周二周三生成的所有二进制日志 — 最后回到周日的完整备份。
执行 PIT 恢复:选择此选项以指定 PIT 恢复并启用所有相关选项。
还原和应用二进制日志(在已知时间或位置时使用):选择此选项以指定备份中供使用的二进制日志。
基于时间的 PIT:选择此选项作为类型。
在错误/不良 SQL 语句之前启用恢复:选择此选项,并将停止日期/时间设置为“19:59”“2007 年 1 月 10 日”;即,周三晚上 8:00 前一分钟。

周四上午 9:00,DBA 发现用户遇到 Orders“未找到表”错误。DBA 随后发现该表已不再存在,因为开发人员周三晚上 8:00无意中删除了该表。

DBA 决定恢复到晚上 8:00 发出 Drop Table 命令之前的时间。DBA 还希望恢复从删除 Orders 表之后一直到备份的二进制日志结束期间发生在其余表上的事务。除了恢复删除的表之外,此决定还确保尽可能多地恢复事务。因此,将执行以下阶段:

1
选择周日晚上执行的完整备份:在创建还原任务 — 选择保存集页上,DBA 选择与周日完整备份相对应的备份保存集。
1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 选择与周三差异备份相对应的备份保存集。
重要信息: DBA 不必还原周一周二晚上的差异备份。通过选择执行差异备份,每晚的备份都是累积的,会回到周日晚上的完整备份;也就是说,周三晚上的备份包括周一、周二周三生成的所有二进制日志 — 最后回到周日的完整备份。
执行 PIT 恢复:选择此选项以指定 PIT 恢复并启用所有相关选项。
还原和应用二进制日志(在已知时间或位置时使用):选择此选项以指定备份中供使用的二进制日志。
基于时间的 PIT:选择此选项作为类型。
在错误/不良 SQL 语句之前启用恢复:选择此选项,并将停止日期/时间设置为“19:59”“2007 年 1 月 10 日”;即,周三晚上 8:00 前一分钟。
在错误/不良 SQL 语句之后启用恢复:选择此选项以恢复删除 Order发生的事务,并在开始日期/时间中输入较晚的时间和日期。最后,由于恢复要一直执行到还原的二进制日志结束,因此为停止日期/时间选择了选项。

周四上午 9:00,DBA 发现用户遇到 Orders“未找到表”错误。DBA 随后发现该表已不再存在,因为开发人员周四早上 6:00 无意中删除了该表。

DBA 必须执行恢复,以便将数据库还原到开发人员周四早上 6:00 删除表之前的时间。

1
选择周日晚上执行的完整备份:在创建还原任务 — 选择保存集页上,DBA 选择与周日完整备份相对应的备份保存集。
1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 选择与周三差异备份相对应的备份保存集。
重要信息: DBA 不必还原周一周二晚上的差异备份。通过选择执行差异备份,每晚的备份都是累积的,会回到周日晚上的完整备份;也就是说,周三晚上的备份包括周一、周二周三生成的所有二进制日志 — 最后回到周日的完整备份。
执行 PIT 恢复:选择此选项以指定 PIT 恢复并启用所有相关选项。
还原和应用二进制日志(在已知时间或位置时使用):选择此选项以指定要使用备份中包含的二进制日志。
包含当前二进制日志:选择此选项可使用当前二进制日志应用从周三完成备份到发出 Drop Table 命令之间出现的条目。
基于时间的 PIT:选择此选项作为类型。
在错误/不良 SQL 语句之前启用恢复:选择此选项,并将停止日期/时间设置为“05:59”“2007 年 1 月 11 日”,即周四早上 6:00 前一分钟。

周四上午 9:00,DBA 发现用户遇到 Orders“未找到表”错误。DBA 随后发现该表已不再存在,因为开发人员周四早上 6:00 无意中删除了该表。

DBA 决定恢复到 Drop Table 命令发出之前的时间。DBA 还希望恢复从删除 Orders 表之后一直到当前二进制日志结束期间发生在其余表上的事务。除了恢复删除的表之外,此决定还确保尽可能多地恢复事务。因此,将执行以下阶段:

1
选择周日晚上执行的完整备份:在创建还原任务 — 选择保存集页上,DBA 选择与周日完整备份相对应的备份保存集。
1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 选择与周三差异备份相对应的备份保存集。
重要信息: DBA 不必还原周一周二晚上的差异备份。通过选择执行差异备份,每晚的备份都是累积的,会回到周日晚上的完整备份;也就是说,周三晚上的备份包括周一、周二周三生成的所有二进制日志 — 最后回到周日的完整备份。
执行 PIT 恢复:选择此选项以指定 PIT 恢复并启用所有相关选项。
还原和应用二进制日志(在已知时间或位置时使用):选择此选项以指定要使用备份中包含的二进制日志。
包含当前二进制日志:选择此选项可使用当前二进制日志应用从周三完成备份到发出 Drop Table 命令之间出现的条目。
基于时间的 PIT:选择此选项作为类型。
在错误/不良 SQL 语句之前启用恢复:选择此选项,并将停止日期/时间设置为“05:59”“2007 年 1 月 11 日”,即周四早上 6:00 前一分钟。
在错误/不良 SQL 语句之后启用恢复:选择此选项以恢复删除 Order发生的事务,并在开始日期/时间中输入较晚的时间和日期。最后,由于恢复要一直执行到当前二进制日志结束,因此为停止日期/时间选择了选项。

在以下示例中,完整备份和增量备份方案已准备就绪,DBA 希望将数据恢复到特定时间,但使用更明确的方法来定义时间。此过程是使用 MySQL 二进制日志中标识的“位置值”完成的。

周四上午 9:00,DBA 发现用户遇到 Orders“未找到表”错误。DBA 随后发现该表已不再存在,因为开发人员周三晚上 8:00无意中删除了该表。

DBA 决定恢复到 Drop Table 命令发出之前的时间。此外,DBA 想要更精确的恢复,因此决定使用基于位置的恢复。以下阶段说明了此过程:

1
选择周日晚上执行的完整备份:在创建还原任务 — 选择保存集页上,DBA 选择与周日完整备份相对应的备份保存集。

在此阶段,只有在周三晚上的差异备份中记录的二进制日志才会还原到临时位置。此过程允许 DBA 在日志中找到标记 Orders 表何时被删除的特定位置。

1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 选择与周三差异备份相对应的备份保存集。
执行 PIT 恢复:选择此选项以启用此形式的还原和所有相关选项。
将日志还原到临时目录以确定时间或位置:选择此选项可仅还原周三晚上差异备份中包含的二进制日志。
基于时间的 PIT:选择此选项作为类型,但保留基于时间的 PIT 详细信息部分中的所有选项为清除状态

根据还原的二进制日志使用 mysqlbinlog 实用程序:此步骤在 NetVault Backup 外部执行,以标识 DBA 不希望还原的 Drop Table 命令的位置。(有关此实用程序和过程的信息,请参阅《MySQL 参考指南》。)在此过程中,DBA 在“MYSQLSVR-bin.000009”二进制日志中将 Drop Table 命令标识为日志位置“805”,该日志已还原到 MySQL Server 上的临时位置,并且记录了这两个值。

从还原的二进制日志确定位置后,将使用周三的差异备份执行 PIT 还原。

1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 再次选择与周三差异备份相对应的备份保存集。
重要信息: DBA 不必还原周一周二晚上的差异备份。通过选择执行差异备份,每晚的备份都是累积的,会回到周日晚上的完整备份;也就是说,周三晚上的备份包括周一、周二周三生成的所有二进制日志 — 最后回到周日的完整备份。
执行 PIT 恢复:选择此选项以启用此形式的还原和所有相关选项。
应用临时目录中的二进制日志:选择此选项可定位在此过程的最后阶段中还原到临时位置的二进制日志。由于还原的二进制日志用于确定 Drop Table 命令占用的特定位置,因此选择此选项以指示插件使用相同的二进制日志。
在错误/不良 SQL 语句之前启用恢复:选择此选项,并将停止位置设置为“804”,即二进制日志中在使用 mysqlbinlog 标识的 Drop Table 命令位置之前存在的位置。包含停止位置的二进制日志选项用于选择已还原到临时目录的二进制日志“MYSQLSVR-bin.000009”

周四上午 9:00,DBA 发现用户遇到 Orders“未找到表”错误。DBA 随后发现该表已不再存在,因为开发人员周三晚上 8:00无意中删除了该表。

DBA 决定恢复到 Drop Table 命令发出之前的时间。DBA 还希望恢复从删除 Orders 表之后到已备份二进制日志结束之间发生在剩余表中的事务。此外,DBA 想要更精确的恢复,因此决定使用基于位置的恢复。以下阶段说明了此过程:

1
选择周日晚上执行的完整备份:在创建还原任务 — 选择保存集页上,DBA 选择与周日完整备份相对应的备份保存集。

在此阶段,只有在周三晚上的增量备份中记录的二进制日志才会还原到临时位置。此过程允许 DBA 在日志中找到标记 Orders 表何时被删除的特定位置。

1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 选择与周三差异备份相对应的备份保存集。
执行 PIT 恢复:选择此选项以启用此形式的还原和所有相关选项。
将日志还原到临时目录以确定时间或位置:选择此选项可仅还原周三晚上差异备份中包含的二进制日志。
基于时间的 PIT:选择此选项作为类型,但保留基于时间的 PIT 详细信息部分中的所有选项为清除状态

根据还原的二进制日志使用 mysqlbinlog 实用程序:此步骤在 NetVault Backup 外部执行,以标识 DBA 不希望还原的 Drop Table 命令的位置。(有关此实用程序和过程的信息,请参阅《MySQL 参考指南》。)在此过程中,DBA 在“MYSQLSVR-bin.000009”二进制日志中将 Drop Table 命令标识为日志位置“805”,该日志已还原到 MySQL Server 上的临时位置,并且记录了这两个值。

从还原的二进制日志确定位置后,将使用周三的增量备份执行 PIT 还原。

1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 再次选择与周三差异备份相对应的备份保存集。
重要信息: DBA 不必还原周一周二晚上的差异备份。通过选择执行差异备份,每晚的备份都是累积的,会回到周日晚上的完整备份;也就是说,周三晚上的备份包括周一、周二周三生成的所有二进制日志 — 最后回到周日的完整备份。
执行 PIT 恢复:选择此选项以启用此形式的还原和所有相关选项。
应用临时目录中的二进制日志:选择此选项可定位在此过程的最后阶段中还原到临时位置的二进制日志。由于还原的二进制日志用于确定 Drop Table 命令占用的特定位置,因此选择此选项以指示插件使用相同的二进制日志。
在错误/不良 SQL 语句之前启用恢复:选择此选项,并将停止位置设置为“804”,即二进制日志中在使用 mysqlbinlog 标识的 Drop Table 命令位置之前存在的位置。包含停止位置的二进制日志选项用于选择已还原到临时目录的二进制日志“MYSQLSVR-bin.000009”
在错误/不良 SQL 语句之后启用恢复:选择此选项,并将开始位置设置为“806”,即二进制日志中在使用 mysqlbinlog 标识的 Drop Table 命令位置之后存在的位置。包含停止位置的二进制日志选项用于选择已还原到临时目录的二进制日志“MYSQLSVR-bin.000009”。最后,由于恢复要一直执行到指定的二进制日志结束,因此为停止位置选择了选项。
重要信息: 停止和开始位置必须是二进制日志中列出的实际位置,而不是大于不需要的事务位置的任意数字。

周四上午 9:00,DBA 发现用户遇到 Orders“未找到表”错误。DBA 随后发现该表已不再存在,因为开发人员周四早上 6:00 无意中删除了该表。

DBA 必须执行恢复,以便将数据库还原到开发人员周四早上 6:00 删除表之前的时间。此外,DBA 想要更精确的恢复,因此决定使用基于位置的恢复。以下阶段说明了此过程:

1
选择周日晚上执行的完整备份:在创建还原任务 — 选择保存集页上,DBA 选择与周日完整备份相对应的备份保存集。

根据当前的二进制日志使用 mysqlbinlog 实用程序:此步骤在 NetVault Backup 外部执行,以标识 DBA 不希望还原的 Drop Table 命令的位置。(有关此实用程序和过程的信息,请参阅《MySQL 参考指南》。)在此过程中,DBA 在当前二进制日志“MYSQLSVR-bin.000009”中将 Drop Table 命令标识为日志位置“805”

从还原的二进制日志确定位置后,将使用周三的差异备份执行 PIT 还原。

1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 再次选择与周三差异备份相对应的备份保存集。
重要信息: DBA 不必还原周一周二晚上的差异备份。通过选择执行差异备份,每晚的备份都是累积的,会回到周日晚上的完整备份;也就是说,周三晚上的备份包括周一、周二周三生成的所有二进制日志 — 最后回到周日的完整备份。
执行 PIT 恢复:选择此选项以启用此形式的还原和所有相关选项。
还原和应用二进制日志(在已知时间或位置时使用):选择此选项以指示插件使用备份中包含的二进制日志。
包含当前二进制日志:选择此选项以指示 NetVault Backup 使用当前的二进制日志应用周三晚上差异备份之后发生的所有数据库事务。此步骤恢复在周三晚上完成差异备份与发出 Drop Table 命令之间发生的所有事务。
在错误/不良 SQL 语句之前启用恢复:选择此选项,并将停止位置设置为“804”,即当前二进制日志中在使用 mysqlbinlog 标识的 Drop Table 命令位置之前存在的位置。将包含停止位置的二进制日志设置为其他文件,并在文本框中输入当前二进制文件的名称,例如“MYSQLSVR-bin.000009”

周四上午 9:00,DBA 发现用户遇到 Orders“未找到表”错误。DBA 随后发现该表已不再存在,因为开发人员周四早上 6:00 无意中删除了该表。

DBA 决定恢复到 Drop Table 命令发出之前的时间。DBA 还希望恢复从删除 Orders 表之后到当前二进制日志结束之间发生在剩余表中的事务。此外,DBA 想要更精确的恢复,因此决定使用基于位置的恢复。以下阶段说明了此过程:

1
选择周日晚上执行的完整备份:在创建还原任务 — 选择保存集页上,DBA 选择与周日完整备份相对应的备份保存集。

根据当前的二进制日志使用 mysqlbinlog 实用程序:此步骤在 NetVault Backup 外部执行,以标识 DBA 不希望还原的 Drop Table 命令的位置。(有关此实用程序和过程的信息,请参阅《MySQL 参考指南》。)在此过程中,DBA 在当前二进制日志“MYSQLSVR-bin.000009”中将 Drop Table 命令标识为日志位置“805”

从还原的二进制日志确定位置后,将使用周三的差异备份执行 PIT 还原。

1
选择周三晚上执行差异备份:在创建还原任务 — 选择保存集页上,DBA 再次选择与周三差异备份相对应的备份保存集。
重要信息: DBA 不必还原周一周二晚上的差异备份。通过选择执行差异备份,每晚的备份都是累积的,再回到周日的完整备份;也就是说,周三晚上的备份包括周一、周二周三生成的所有二进制日志 — 再回到周日的完整备份。
执行 PIT 恢复:选择此选项以启用此形式的还原和所有相关选项。
还原和应用二进制日志(在已知时间或位置时使用):选择此选项以指示插件使用备份中包含的二进制日志。
包含当前二进制日志:选择此选项以指示 NetVault Backup 使用当前的二进制日志应用周三晚上差异备份之后发生的所有数据库事务。此步骤恢复在周三晚上完成差异备份与发出 Drop Table 命令之间发生的所有事务。
在错误/不良 SQL 语句之前启用恢复:选择此选项,并将停止位置设置为“804”,即当前二进制日志中在使用 mysqlbinlog 标识的 Drop Table 命令位置之前存在的位置。将包含停止位置的二进制日志设置为其他文件,并在文本框中输入当前二进制文件的名称,例如“MYSQLSVR-bin.000009”
在错误/不良 SQL 语句之后启用恢复:选择此选项,并将开始位置设置为“806”,即当前二进制日志中在使用 mysqlbinlog 标识的 Drop Table 命令位置之后存在的位置。将包含停止位置的二进制日志设置为其他文件,并在文本框中输入当前二进制文件的名称,例如“MYSQLSVR-bin.000009”。最后,由于恢复要一直执行到当前二进制日志结束,因此为停止位置选择了选项。
重要信息: 停止和开始位置必须是二进制日志中列出的实际位置,而不是大于不需要的事务位置的任意数字。

使用 MIXED 二进制日志记录格式并发出跨数据库更新时的 PIT 还原

使用 MIXED 二进制日志记录格式并发出跨数据库更新时的 PIT 还原
重要信息: 如果您的网站使用 MIXED 二进制日志记录格式,并且所有数据库用户和程序都遵循最佳做法,确保修改的表位于 USE 选定的数据库中,并且不会发出跨数据库更新,则本主题不适用于您的网站。(有关详细信息,请参阅 使用 MIXED 二进制日志记录格式。)您可以运行 PIT 还原任务,并将二进制日志重播至任务中所选数据库的指定点。

如前所述,如果环境中的用户和程序修改了未由 USE 选择的数据库中的表,并且他们发出跨数据库更新,则在运行 PIT 还原任务时,可能无法将事务重播至指定时间。Quest建议所有数据库用户和程序确保修改后的表位于 USE 选定的数据库中,并且不会发出跨数据库更新。如果本指南不适合您的环境,Quest 建议您不要使用 MIXED 二进制日志记录格式。

重要信息: 以下过程使用不带“--database”选项的 mysqlbinlog。因此,将应用二进制日志的所有内容,并且可能会修改所有数据库。考虑将此过程应用于备用 MySQL Server,并从备用 MySQL Server 中提取适用的数据。如果将以下过程应用到生产 MySQL Server,则所有数据库都将回滚到指定的点。不要在生产环境中应用此过程,除非您计划将所有 MySQL Server 数据库回滚到指定点。
1
在导航窗格中,单击创建还原任务
2
创建还原任务 — 选择保存集页上,单击表过滤,然后选择编辑过滤器
3
插件类型列表中,选择 Plug‑in for MySQL
5
创建选择集页面中,选择二进制日志
6
创建选择集页面中,单击编辑插件选项
7
时间点恢复选项卡上,选择执行 PIT 恢复将日志还原到临时目录以确定时间或位置选项。
二进制日志将还原到位于以下位置的临时目录:<NetVaultBackupInstallationDirectory>/tmp/mysql/<savesetName>
8
要从 mysqlbinlog 命令提示符处手动应用二进制日志,请键入:
"<NetVaultBackupInstallationDirectory>/tmp/mysql/<savesetName>" |
不同的增量备份保存集将还原到 <NetVaultBackupInstallationDirectory>/tmp/mysql 目录中的不同子目录。然后,您可以在每个目录中应用 mysqlbinlog 命令,也可以将所有二进制日志复制或移动到公共目录并运行 mysqlbinlog

MySQL Enterprise Backup 的还原方案示例

要从故障或数据损坏中恢复,在设置与选定要还原的数据相关的任务以及选项选项卡上的可用选项时,必须进行各种设置。

仅完整备份还原方案

1
要生成待还原的准备好的完整备份,请在选项选项卡上提交已选择还原、提取原始完整备份...选项的任务。
2
要关闭 MySQL 并将准备好的完整备份复制到 MySQL Server 存储库,请在选项选项卡上提交已选择关闭 MySQL Server 并复制回...选项的任务。
관련 문서

The document was helpful.

평가 결과 선택

I easily found the information I needed.

평가 결과 선택