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




