14.19.1 InnoDB 备份
安全数据库 Management 的关键是进行定期备份。根据您的数据量,MySQL 服务器数量和数据库工作负载,您可以单独使用或结合使用以下备份技术:hot backup与 MySQL 企业备份; cold backup通过在 MySQL 服务器关闭时复制文件; logical backup和mysqldumptable 示较小的数据量或记录架构对象的结构。热备份和冷备份是physical backups,它们复制实际的数据文件,mysqld服务器可以直接使用它们来更快地还原。
建议使用* MySQL Enterprise Backup *备份InnoDB
数据。
Note
InnoDB
不支持使用第三方备份工具还原的数据库。
Hot Backups
mysqlbackup 命令是 MySQL Enterprise Backup 组件的一部分,可让您备份正在运行的 MySQL 实例(包括InnoDB
table),以最小的操作中断,同时生成一致的数据库快照.当 mysqlbackup 复制InnoDB
table 时,可以 continue 对InnoDB
table 进行读写。 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 复制”。