14.19.1 InnoDB 备份

安全数据库 Management 的关键是进行定期备份。根据您的数据量,MySQL 服务器数量和数据库工作负载,您可以单独使用或结合使用以下备份技术:hot backup与 MySQL 企业备份; cold backup通过在 MySQL 服务器关闭时复制文件; logical backupmysqldumptable 示较小的数据量或记录架构对象的结构。热备份和冷备份是physical backups,它们复制实际的数据文件,mysqld服务器可以直接使用它们来更快地还原。

建议使用* MySQL Enterprise Backup *备份InnoDB数据。

Note

InnoDB不支持使用第三方备份工具还原的数据库。

Hot Backups

mysqlbackup 命令是 MySQL Enterprise Backup 组件的一部分,可让您备份正在运行的 MySQL 实例(包括InnoDBtable),以最小的操作中断,同时生成一致的数据库快照.当 mysqlbackup 复制InnoDBtable 时,可以 continue 对InnoDBtable 进行读写。 MySQL Enterprise Backup 还可以创建压缩备份文件,并备份 table 和数据库的子集。结合 MySQL 二进制日志,用户可以执行时间点恢复。 MySQL Enterprise Backup 是 MySQL Enterprise 订阅的一部分。有关更多详细信息,请参见第 29.2 节“ MySQL 企业备份概述”

Cold Backups

如果可以关闭 MySQL 服务器,则可以进行物理备份,其中包含InnoDB用来 Management 其 table 的所有文件。使用以下过程:

  • 对 MySQL 服务器执行slow shutdown,并确保其停止运行且没有错误。

  • 将所有InnoDB个数据文件(ibdata个文件和.ibd个文件)复制到一个安全的位置。

  • InnoDB个 table 的所有.frm个文件复制到一个安全的地方。

  • 将所有InnoDB个日志文件(ib_logfile个文件)复制到一个安全的地方。

  • 将您的my.cnf个配置文件复制到一个安全的地方。

使用 mysqldump 进行逻辑备份

除了物理备份外,建议您通过使用mysqldump转储 table 来定期创建逻辑备份。二进制文件可能在您不注意的情况下已损坏。转储的 table 存储在人类可读的文本文件中,因此发现 table 损坏变得更加容易。同样,由于格式更简单,严重数据损坏的机会也较小。 mysqldump还具有--single-transaction选项,用于制作一致的快照而不会锁定其他 Client 端。参见第 7.3.1 节“构建备份策略”

复制适用于InnoDBtable,因此您可以使用 MySQL 复制功能在需要高可用性的数据库站点上保留数据库的副本。参见第 14.20 节“ InnoDB 和 MySQL 复制”