InnoDB备份
安全数据库管理的关键是进行定期备份。根据您的数据量,MySQL服务器数量和数据库工作负载,您可以单独使用或结合使用以下备份技术:使用MySQL Enterprise Backup进行热备份;通过在MySQL服务器关闭时复制文件进行冷备份;使用mysqldump进行逻辑备份,以获取较小的数据量或记录架构对象的结构。热备份和冷备份是复制实际数据文件的物理备份,可以由mysqld服务器直接使用以更快地还原。
建议使用MySQL Enterprise Backup备份InnoDB
数据。
注意
InnoDB
不支持使用第三方备份工具还原的数据库。
热备份
该mysqlbackup命令,MySQL企业备份组件的一部分,让您备份运行MySQL实例,包括InnoDB
表,以最小的中断操作,同时生产数据库的一致性快照。当mysqlbackup复制InnoDB
表时,对InnoDB
表的读写可以继续。MySQL Enterprise Backup还可以创建压缩备份文件,并备份表和数据库的子集。结合MySQL二进制日志,用户可以执行时间点恢复。MySQL Enterprise Backup是MySQL Enterprise订阅的一部分。有关更多详细信息,请参见“ MySQL企业备份概述”。
冷备份
如果您可以关闭MySQL服务器,则可以进行物理备份,其中包含用于InnoDB
管理其表的所有文件。使用以下过程:
- 对MySQL服务器执行慢速关机,并确保其停止且没有错误。
- 将所有
InnoDB
数据文件(ibdata
文件和.ibd
文件)复制到安全的地方。 - 将所有
InnoDB
日志文件(个ib_logfile
文件)复制到一个安全的地方。 - 将您的
my.cnf
一个或多个配置文件复制到一个安全的地方。
使用mysqldump进行逻辑备份
除了物理备份之外,建议您通过使用mysqldump转储表来定期创建逻辑备份。二进制文件可能在您不注意的情况下已损坏。转储的表存储在人类可读的文本文件中,因此发现表损坏变得更加容易。另外,由于格式更简单,严重数据损坏的机会也较小。mysqldump还提供一个--single-transaction
选项,使用户可以在不锁定其他客户端的情况下创建一致的快照。请参见“示例备份和恢复策略”。
复制适用于InnoDB
表,因此您可以使用MySQL复制功能在需要高可用性的数据库站点上保留数据库的副本。请参见“ InnoDB和MySQL复制”。