本节列出了有关 MySQL Enterprise Backup 的一些常见问题,以及更多信息的答案和指针。
问题
A.1: MySQL Enterprise Backup 4.1 支持哪些版本的 MySQL 服务器?
A.2:所有备份 中的大
ibdata
文件是什么?A.3: 我可以使用 MySQL Enterprise Backup 备份非 InnoDB 数据吗?
A.4: 如果应用日志或应用增量备份步骤中断会怎样?
A.5: 为什么选项
--defaults-file
不被识别?A.6: 我可以在一个操作系统平台上备份一个数据库,然后使用 MySQL Enterprise Backup 在另一个操作系统平台上恢复它吗?
A.7: 如果我在我的备份中包含二进制日志或中继日志但不想恢复它怎么办?
A.8: 如果我直接使用原始目录备份启动服务器,而不运行回拷或应用日志操作,会发生什么情况?
问题和解答
A.1: MySQL Enterprise Backup 4.1 支持哪些版本的 MySQL 服务器?
有关不同版本的 MySQL Enterprise Backup 和 MySQL Server 之间兼容性的详细信息, 请参阅第 C.3 节,“与 MySQL 版本的兼容性”。
您可能会发现备份数据占用的空间比预期的要多,因为文件很大,例如
ibdata1
. 该文件代表 InnoDB
系统表空间,它会随着数据库的运行而增长但不会缩小,并且包含在每个完整备份和增量备份中。要减少此文件在备份数据中占用的空间:
做完整备份后,再做连续的 增量备份,这样占用的空间更少。增量备份中的
ibdata1
文件通常要小得多,仅包含自完整备份以来更改的系统表空间部分。innodb_file_per_table=1
在创建最大或最活跃的 InnoDB 表之前 设置配置选项 。这些表从系统表空间分离到单独的.ibd
文件中;然后可以将这些表单独包含在备份中或从备份中排除,并且在删除或截断表时释放磁盘空间。如果您的系统表空间非常大,因为您在打开
innodb_file_per_table
设置之前创建了大量 InnoDB 数据,您可以使用mysqldump创建整个服务器实例的转储,然后innodb_file_per_table
在重新创建数据库之前打开,以便所有表数据保存在系统表空间之外。
A.3: 我可以使用 MySQL Enterprise Backup 备份非 InnoDB 数据吗?
虽然 MySQL Enterprise Backup 可以备份非 InnoDB 数据(如 MYISAM 表),但要备份的 MySQL 服务器必须支持 InnoDB(即,如果服务器使用
--innodb=OFF
或
--skip-innodb
选项启动,备份过程将失败),并且服务器必须包含至少一个 InnoDB 表。
如果在or
阶段mysqlbackup中断
,备份数据是OK的。这些选项执行的文件操作可以多次执行,而不会损害备份数据的一致性。只需再次运行相同的
mysqlbackup命令,当它成功完成时,所有必要的更改都会出现在备份数据中。
apply-log
apply-incremental-backup
A.5:
为什么选项--defaults-file
不被识别?
当您指定
--defaults-file
选项时,它必须是
mysqlbackup之后的第一个选项。否则,错误消息会使选项名称看起来好像无法识别。
A.6: 我可以在一个操作系统平台上备份一个数据库,然后使用 MySQL Enterprise Backup 在另一个操作系统平台上恢复它吗?
有关详细信息,请参阅第 C.2 节“跨平台兼容性”。
A.7: 如果我在我的备份中包含二进制日志或中继日志但不想恢复它怎么办?
如果要在还原期间跳过二进制日志、中继日志或两者的还原,请将
--skip-binlog
选项、
--skip-relaylog
选项或两者与您的copy-back
or
copy-back-and-apply-log
命令一起使用。
A.8: 如果我直接使用原始目录备份启动服务器,而不运行回拷或应用日志操作,会发生什么情况?
永远不要尝试这样做。不仅服务器会崩溃,而且备份可能会损坏并变得无法使用。这是因为目录备份包含 MySQL 服务器无法理解的由mysqlbackup创建的元数据;此外,原始备份可能不一致,需要通过 应用日志操作更新,以便可以应用在备份过程中对数据库所做的更改。