关于MySQL热备份

MySQL 热备份是指在数据库运行、应用程序读写的过程中对MySQL 数据库进行备份。 MySQL 热备份的优点是它不会阻塞正常的数据库操作,它甚至可以捕获备份发生时发生的更改。 在以下情况下,您会希望进行热备份:

  • 数据足够大以至于备份需要很长时间,并且您不希望在备份过程中停止数据库操作。

  • 这些数据对您的业务非常重要,您必须在不使您的应用程序、网站或 Web 服务脱机的情况下捕获每一个最后的更改。

MySQL热备份是一种复制实际数据文件的物理备份。 它不同于重现表结构和数据的逻辑备份。 其他 MySQL 物理备份类型包括 冷备份 热备份 .

如何使用 MySQL Enterprise Backup 热备份 MySQL 数据库

要制作 MySQL 热备份,您可以使用 mysqlbackup命令,它是 MySQL Enterprise Backup 组件的一部分。 它允许您备份正在运行的 MySQL 实例,包括 InnoDB 表。 为了完整起见,它还可以从 MyISAM 和其他存储引擎备份表。 按照以下说明创建 MySQL 数据库的热备份:

1. 下载 并安装 MySQL Enterprise Backup。

“提示:”MySQL Enterprise Backup 可以使用单独的 .msi 安装程序或 .zip 文件单独安装。 使用 .msi 安装程序安装时,选择Windows PATH 中的包含目录选项 ,以便您可以从任何目录运行 mysqlbackup

2. 指定备份目录的位置。 您可以指定两个路径 - 一个用于备份图像,一个用于临时输出、状态和元数据文件。 对于我来说,我将 D:\MySQLBackup\Backups 和 D:\MySQLBackup\Backup-tmp 指定为备份目录。

3. 以管理员身份运行命令提示符并输入以下命令以在运行时备份整个 MySQL 实例。

  • mysqlbackup -u root -p --backup-image=D:\MySQLBackup\Backups\my.mbi --backup-dir=D:\MySQLBackup\Backup-tmp 备份到图像

  • “[密码]”

MySQL热备份

“注意:”
backup-to-image:创建单个文件备份。
--backup-image:指定单个文件备份的位置和文件名。
--backup-dir:提供一个空文件夹的位置来存储临时文件。

4. 当您看到“mysqlbackup completed OK!”时,键入 exit并按 Enter 键关闭命令提示符。

备份完成

▶ 验证备份

为确保在出现问题时能够成功恢复数据,您可以使用以下命令检查备份的完整性:

mysqlbackup --backup-image=D:\MySQLBackup\Backups\my.mbi 验证

验证备份

▶ 恢复MySQL实例

如果您的 MySQL 数据库出现严重问题,您可以按照以下步骤恢复 MySQL 实例:

1. 在服务窗口中关闭数据库服务器。 您可以按 Win + R键并在“运行”窗口中键入 services.msc以进入该窗口。

停止 MySQL

2. 删除服务器数据目录和您使用--backup-dir 选项指定的目录中的所有文件。

“提示:”如果您要通过 --innodb_data_home_dir、--innodb_log_group_home_dir 和 --innodb_undo_directory 选项指定其他目录进行还原,您还应该删除这些目录中的所有文件,否则还原操作将失败。

3. 在提升的命令提示符中执行以下命令以启动恢复过程。

mysqlbackup --datadir=“C:\ProgramData\MySQL\MySQL Server 8.0\Data” --backup-image=D:\MySQLBackup\Backups\my.mbi --backup-dir=D:\MySQLBackup\Backup-tmp 复制-返回并应用日志

恢复热备份

“注意事项:”
copy-back-and-apply-log:“copy-back”从镜像文件中提取备份,复制到服务器上待恢复的数据目录中。 “apply-log”对恢复的数据执行应用日志操作,使它们保持最新。
--datadir:提供用于恢复数据的数据目录的位置。 如果数据目录路径中有空格,请在路径两边加上引号,否则您会卡在“错误:在末尾找到无关命令”。

4. 当您看到“mysqlbackup completed OK!”时,键入 exit并按 Enter 键关闭命令提示符。

恢复完成

5. 重启MySQL数据库服务器。

“提示:”根据您打算如何启动恢复的服务器,您可能需要调整恢复的数据目录的所有权。 例如服务器要以mysql用户启动,使用 chown -R mysql:mysql /path/to/datadir命令将data目录及其下文件的owner属性改为mysql用户,以及 mysql 组的组属性。

在 Windows 中运行 MySQL 热/冷备份的可靠软件

您可能会发现使用 MySQL Enterprise Backup 可以轻松执行 MySQL 热备份和恢复。 但是,使用 mysqlbackup命令需要非常小心。 多余的空格或遗漏的引号可能会导致备份/恢复失败。

为了让MySQL数据库文件备份和恢复更简单省心,您可以求助于备份软件- 傲梅企业备份标准版。 它允许您在数据库运行或不运行时创建备份。

有四种可用的备份类型: 系统/磁盘/分区/文件备份。 备份MySQL数据库,需要使用文件备份来备份数据目录。 如果你的数据目录在 C:\ProgramData,它默认是隐藏的,你必须在备份前显示隐藏的项目。 我们来看看详细步骤:

步骤 1.下载傲梅企业备份标准版试用版。 安装并运行它。

步骤 2.单击 左侧面板中的 “备份”并选择“文件备份”

文件备份

步骤 3.为任务命名,选择 “添加文件夹”,添加MySQL的数据目录。

新增文件夹

步骤 4.选择一个目标路径来保存备份图像。 它支持各种备份存储设备,例如外部硬盘驱动器、USB 驱动器和 NAS 设备。

选择备份目的地

步骤 5.如果需要, 单击 “计划“方案”进行更多设置”。点击 “开始备份”,开始MySQL热备份。

开始备份

▶ 如何恢复MySQL数据库文件?

转到 “主页”并找到 MySQL 备份任务。 展开下拉菜单并选择 “恢复”。 然后,按照向导完成该过程。

提示:

  • 如果你想恢复一个特定的数据库而不是整个MySQL实例,你可以导航到相应的数据库文件夹并检查它。

  • 如果要将现有表恢复到其以前的版本,则需要在单击“开始恢复”之前选中 “替换现有文件”

  • 如果提示文件正在使用中,无法覆盖,可以关闭MySQL数据库服务器再试。

结论

本文提供了两种解决方案来帮助您在 Windows 下执行 MySQL 热备份。 如果您更喜欢命令行操作,您可以选择 MySQL Enterprise Backup。 如果你想通过直观的 GUI 更轻松地操作,那么推荐傲梅企业备份标准版。 除了备份和恢复功能外,傲梅企业备份标准版还拥有克隆功能,您可以使用它克隆物理服务器!